Skip to contents

Iterative Koutrouvelis regression method with different spacing schemes (points where the eCF is computed).

Usage

KoutParametersEstim(x, theta0 = NULL,
                    spacing = c("Kout", "UniformSpac", "ArithSpac", "free"),
                    pm = 0, tol = 0.05, NbIter = 10, PrintTime = FALSE, ...)

Arguments

x

data used to perform the estimation: vector of length n.

theta0

initial guess for the 4 parameters values: vector of length 4

spacing

scheme used to select the points where the moment conditions are evaluated. Kout is the scheme suggested by Koutrouvelis, UniformSpac and ArithSpac are the uniform and arithmetic spacing schemes over the informative interval [\(\epsilon\),\(A_n\)]. If user choose free, he needs to provide a set of points t_points and u_points in ....

pm

parametrisation, an integer (0 or 1); default: pm = 0 (Nolan's ‘S0’ parametrisation).

tol

the loop stops if the relative error between two consecutive estimation is smaller then tol; default = 0.05.

NbIter

maximum number of iteration. The loop stops when NbIter is reached; default = 10.

PrintTime

logical flag; if set to TRUE, the estimation duration is printed out to the screen in a readable format (h/min/sec).

...

other arguments to pass to the function. See Details.

Details

spacing

4 options for the spacing scheme are implemented as described above. In particular:

UniformSpac, ArithSpac:

The user can specify the number of points to choose in both regression by inputting nb_t and nb_u. Otherwise the Koutrouvelis table will be used to compte them.

free:

The user is expected to provide t_points and u_points otherwise the Kout scheme will be used.

Value

a list with the following elements:

Estim

list containing the vector of 4 parameters estimate (par), the 2 regressions objects (reg1 and reg2) and the matrix of iterations estimate (vals).

duration

estimation duration in a numerical format.

method

character describing the method used.

References

Koutrouvelis IA (1980). “Regression-type estimation of the parameters of stable laws.” Journal of the American Statistical Association, 75(372), pp. 918–928.

Koutrouvelis IA (1981). “An iterative procedure for the estimation of the parameters of stable laws: An iterative procedure for the estimation.” Communications in Statistics-Simulation and Computation, 10(1), pp. 17–28.

See also

Examples

pm <- 0
theta <- c(1.45, 0.5, 1.1, 0.4)
set.seed(1235)
x <- rstable(200, theta[1], theta[2], theta[3], theta[4], pm = pm)
theta0 <- theta - 0.1
spacing <- "Kout"

KoutParametersEstim(x = x, theta0 = theta0, 
                        spacing = spacing, pm = pm)
#> $Estim
#> $Estim$par
#> [1] 1.3344151 0.4676414 1.0085928 0.6678007
#> 
#> $Estim$regObject1
#> $Estim$regObject1$alpha
#> [1] 1.334415
#> 
#> $Estim$regObject1$gamma
#> [1] 1.008593
#> 
#> $Estim$regObject1$obj
#> $coefficients
#> (Intercept)           w 
#>   0.7088417   1.3344151 
#> 
#> $residuals
#>  [1] -0.05787720  0.04029226 -0.07402443 -0.03429568  0.05751061  0.06609260
#>  [7]  0.02759895  0.01291000  0.06764385  0.07514438 -0.04056695 -0.09603401
#> [13] -0.05689624 -0.09900973 -0.18281535 -0.20263143 -0.23564454 -0.27082373
#> [19] -0.33518429 -0.41815004 -0.34564423
#> 
#> $effects
#>  (Intercept)            w                                                     
#>  -2.88909651 -12.75249112  -0.03718116  -1.04345420  -0.36569028  -0.17901914 
#>                                                                               
#>  -0.72032817  -0.44130671   0.04961527   0.99193952  -0.63024592  -0.49598630 
#>                                                                               
#>   0.69735376  -1.80494979   1.31693622   1.74037573  -1.35024588   0.72165765 
#>                                        
#>  -0.24167200   0.45964172  -0.07459873 
#> 
#> $rank
#> [1] 2
#> 
#> $fitted.values
#>  [1] -2.05892986 -1.13398383 -0.59292508 -0.20903779  0.08872832  0.33202096
#>  [7]  0.53772194  0.71590824  0.87307970  1.01367436  1.14085770  1.25696699
#> [13]  1.36377719  1.46266798  1.55473311  1.64085428  1.72175269  1.79802574
#> [19]  1.87017385  1.93862040  2.00372673
#> 
#> $assign
#> NULL
#> 
#> $qr
#> $qr
#>         (Intercept)             w
#>  [1,] -9.558134e+00  2.912218e+00
#>  [2,] -7.396163e-01 -9.556615e+00
#>  [3,]  4.586215e-01 -8.569227e-01
#>  [4,] -2.265525e-01 -4.769813e-01
#>  [5,] -1.974310e-01 -2.727447e-02
#>  [6,]  5.561188e-02 -1.062211e-01
#>  [7,] -1.598650e-02 -8.328343e-02
#>  [8,]  1.983991e-02  2.173686e-02
#>  [9,] -1.252809e-02  1.661564e-03
#> [10,] -3.035077e-03  1.179246e-02
#> [11,]  3.476299e-04 -7.863231e-03
#> [12,] -1.014034e-03 -5.110691e-03
#> [13,]  6.466102e-04  1.996900e-03
#> [14,] -3.170199e-04 -7.325344e-04
#> [15,]  7.200185e-05  2.244465e-04
#> [16,]  6.891658e-07 -1.169513e-04
#> [17,] -9.251990e-06  8.004342e-05
#> [18,] -3.525780e-06  4.940021e-05
#> [19,]  4.625320e-07 -2.360839e-05
#> [20,] -1.199750e-07 -8.561639e-06
#> [21,]  5.921626e-08  2.143827e-06
#> 
#> $qraux
#> [1] 1.385252 1.136024
#> 
#> $pivot
#> [1] 1 2
#> 
#> $tol
#> [1] 1e-07
#> 
#> $rank
#> [1] 2
#> 
#> attr(,"class")
#> [1] "qr"
#> 
#> $df.residual
#> [1] 19
#> 
#> $terms
#> y ~ w
#> attr(,"variables")
#> list(y, w)
#> attr(,"factors")
#>   w
#> y 0
#> w 1
#> attr(,"term.labels")
#> [1] "w"
#> attr(,"order")
#> [1] 1
#> attr(,"intercept")
#> [1] 1
#> attr(,"response")
#> [1] 1
#> attr(,".Environment")
#> <environment: 0x56223c681000>
#> attr(,"predvars")
#> list(y, w)
#> attr(,"dataClasses")
#>         y         w 
#> "numeric" "numeric" 
#> 
#> $call
#> lm.gls(formula = y ~ w, W = sig, inverse = TRUE)
#> 
#> $xlevels
#> named list()
#> 
#> attr(,"class")
#> [1] "lm.gls"
#> 
#> $Estim$regObject1$updatedData
#>   [1]  -0.626933424  -0.722570038  -2.383259156   2.403082886   0.993929693
#>   [6]  -1.179618588  -0.823781073   0.342432858  -0.544732252  -2.636008744
#>  [11]   3.006516247  -0.494420604  -1.131950271  -0.260840472   0.319892188
#>  [16]  -8.871491763   1.612402224  -0.383010903  -0.067098228   1.280735952
#>  [21]  -2.418525878   4.357222048   1.351933392  -1.111651724  -2.381504635
#>  [26]   1.230201551  -1.838725853  -0.840261119  -2.849381002  -0.681011824
#>  [31]  -0.105437015  -0.988982776   0.164135986  -0.425440079  -2.109310242
#>  [36]  -0.421339197  -1.355627428  -2.592407493  -0.284291044  -1.075824274
#>  [41]  -0.924269723   2.930037067  -3.587158102  -1.192462096   3.076546141
#>  [46]   2.026704817  -1.805413153  -0.848286649  -0.021069395  -1.778134358
#>  [51]  -1.831695318  -1.348231297  -1.258149400  -2.313893859  -0.860540285
#>  [56]  -0.040732426  -2.030051766   1.200154039  -0.495555913  -2.535110841
#>  [61]  -0.830010838  -0.773541122  -2.292878431  -0.089297603  13.373256152
#>  [66]  -0.810038048  -1.962963696   2.235511791   2.161293706  -3.536976857
#>  [71]   1.778112999  -0.568805990   0.005438781  -2.294454376  -0.908567864
#>  [76]   1.534477240  -7.130534721  -0.944800156   2.919490321  -3.529773840
#>  [81]  -0.557014475   0.181842975  -2.999932316  -1.579776309  -0.345316355
#>  [86]   0.644682788  -0.854012470   1.165438366  -2.764356968  -1.487143921
#>  [91]  -0.633522156  -3.495262901  -1.893289735  -1.175698406  -0.184887331
#>  [96]  -1.270711831   0.135692892   0.280685554 115.160789010  -0.344421118
#> [101]  -0.271014960   1.038545633  -5.639841670  -0.095688616  -0.511490911
#> [106]  -1.611364715  -0.743067270   2.464408490   4.604983727  -4.116897352
#> [111]   3.923263909  -2.178734707  -0.250667027  -1.606707628  -1.301101620
#> [116]  -1.283885028  -1.504903136   2.803195437  -1.606649302   7.159408263
#> [121]   0.928531765  -0.200074912  -0.706378788   3.430007742  -0.937316767
#> [126]  -0.868270444  -3.312635562  -1.636513940   0.075269659  -0.611841973
#> [131]   0.247478644   1.425506684  -3.261735414   0.333644252   1.057669745
#> [136]   0.357680615  -2.308920534  -1.019030988  -1.277398464  -2.164374185
#> [141]  -0.510920464  -0.149071819  -0.082272347  -0.106027976  -1.286002082
#> [146]   6.011522834   0.901826329  -2.509077140  -1.708738376 -13.184319957
#> [151]  -0.124998067  -1.501454459  -1.454259201   0.743984706  -2.212461930
#> [156]  -1.261411484  -1.596635311  -0.628765150  -1.226249012  -1.105750477
#> [161]  -0.327003174   3.751433032   1.416651709  -0.566832174   0.011391106
#> [166]  -0.626765893  -0.290205685   0.281344241  -3.353261333  -0.051925272
#> [171]   0.657999833  -1.038381031  -0.014177686   0.767003357   0.886416745
#> [176]  -1.159231571   0.840368069  -2.836240756  -3.635908314  -0.095890406
#> [181]  -3.479619778  -1.336547594  -0.555365153  -1.964800649  -0.097427363
#> [186]  -2.441086333  -0.465432481   1.914286202   0.350360387  -0.428384672
#> [191]   1.774025059   1.127742215  -1.553577895  -0.151862620  12.068249607
#> [196]  -1.680149738  11.823836616  -1.205903417  -1.719171620   3.172317401
#> 
#> 
#> $Estim$regObject2
#> $Estim$regObject2$beta
#> [1] 0.4676414
#> 
#> $Estim$regObject2$delta
#> [1] 0.6678007
#> 
#> $Estim$regObject2$obj
#> $coefficients
#>           u          Om 
#> -0.02991856 -0.80680953 
#> 
#> $residuals
#>  [1] -0.0003928949  0.0013324999 -0.0032343258 -0.0113183750 -0.0138728714
#>  [6] -0.0044447134  0.0144084290  0.0326832941  0.0391892862  0.0287596496
#> [11]  0.0075947863 -0.0097960422 -0.0131611042
#> 
#> $effects
#>           u          Om                                                 
#> -6.14625911  2.35525590  1.62845436 -0.09577137 -1.46623619  0.26650545 
#>                                                                         
#> -0.12977734 -0.15814915  0.16767628  0.20991726 -0.19669805 -0.17729849 
#>             
#> -0.15574861 
#> 
#> $rank
#> [1] 2
#> 
#> $fitted.values
#>  [1] -0.02197281 -0.05442877 -0.09268012 -0.13529322 -0.18149101 -0.23077213
#>  [7] -0.28278109 -0.33725019 -0.39396921 -0.45276787 -0.51350491 -0.57606088
#> [13] -0.64033324
#> 
#> $assign
#> NULL
#> 
#> $qr
#> $qr
#>                   u          Om
#>  [1,]  9.0864682745  7.28103091
#>  [2,]  0.1347664608 -2.91922173
#>  [3,]  0.1473166164  0.29669835
#>  [4,] -0.0020693168 -0.37701712
#>  [5,]  0.0526670375  0.15972862
#>  [6,]  0.0055423598 -0.21230884
#>  [7,]  0.0244398529  0.10568262
#>  [8,]  0.0005303477 -0.12716215
#>  [9,]  0.0089739577  0.09016390
#> [10,]  0.0042369355  0.09035207
#> [11,] -0.0041972146 -0.08227781
#> [12,] -0.0033774937 -0.07550927
#> [13,] -0.0026543150 -0.06679224
#> 
#> $qraux
#> [1] 1.978057 1.799172
#> 
#> $pivot
#> [1] 1 2
#> 
#> $tol
#> [1] 1e-07
#> 
#> $rank
#> [1] 2
#> 
#> attr(,"class")
#> [1] "qr"
#> 
#> $df.residual
#> [1] 11
#> 
#> $terms
#> z ~ -1 + u + Om
#> attr(,"variables")
#> list(z, u, Om)
#> attr(,"factors")
#>    u Om
#> z  0  0
#> u  1  0
#> Om 0  1
#> attr(,"term.labels")
#> [1] "u"  "Om"
#> attr(,"order")
#> [1] 1 1
#> attr(,"intercept")
#> [1] 0
#> attr(,"response")
#> [1] 1
#> attr(,".Environment")
#> <environment: 0x56223c373700>
#> attr(,"predvars")
#> list(z, u, Om)
#> attr(,"dataClasses")
#>         z         u        Om 
#> "numeric" "numeric" "numeric" 
#> 
#> $call
#> lm.gls(formula = z ~ -1 + u + Om, W = sig2, inverse = TRUE)
#> 
#> $xlevels
#> named list()
#> 
#> attr(,"class")
#> [1] "lm.gls"
#> 
#> $Estim$regObject2$updatedData
#>   [1]  -0.597014868  -0.692651483  -2.353340601   2.433001442   1.023848248
#>   [6]  -1.149700033  -0.793862517   0.372351413  -0.514813697  -2.606090188
#>  [11]   3.036434803  -0.464502048  -1.102031716  -0.230921916   0.349810743
#>  [16]  -8.841573208   1.642320780  -0.353092348  -0.037179672   1.310654508
#>  [21]  -2.388607322   4.387140603   1.381851948  -1.081733168  -2.351586079
#>  [26]   1.260120107  -1.808807297  -0.810342563  -2.819462446  -0.651093268
#>  [31]  -0.075518460  -0.959064220   0.194054542  -0.395521523  -2.079391686
#>  [36]  -0.391420641  -1.325708872  -2.562488937  -0.254372488  -1.045905719
#>  [41]  -0.894351168   2.959955623  -3.557239547  -1.162543541   3.106464696
#>  [46]   2.056623373  -1.775494597  -0.818368093   0.008849161  -1.748215802
#>  [51]  -1.801776763  -1.318312741  -1.228230844  -2.283975303  -0.830621729
#>  [56]  -0.010813870  -2.000133210   1.230072594  -0.465637358  -2.505192285
#>  [61]  -0.800092282  -0.743622566  -2.262959875  -0.059379047  13.403174708
#>  [66]  -0.780119493  -1.933045140   2.265430346   2.191212262  -3.507058302
#>  [71]   1.808031555  -0.538887434   0.035357337  -2.264535820  -0.878649308
#>  [76]   1.564395796  -7.100616165  -0.914881600   2.949408877  -3.499855285
#>  [81]  -0.527095919   0.211761531  -2.970013760  -1.549857753  -0.315397799
#>  [86]   0.674601344  -0.824093914   1.195356922  -2.734438413  -1.457225366
#>  [91]  -0.603603600  -3.465344345  -1.863371180  -1.145779851  -0.154968775
#>  [96]  -1.240793275   0.165611448   0.310604109 115.190707565  -0.314502562
#> [101]  -0.241096404   1.068464189  -5.609923114  -0.065770060  -0.481572356
#> [106]  -1.581446160  -0.713148714   2.494327045   4.634902283  -4.086978796
#> [111]   3.953182465  -2.148816152  -0.220748472  -1.576789072  -1.271183064
#> [116]  -1.253966473  -1.474984581   2.833113993  -1.576730746   7.189326819
#> [121]   0.958450321  -0.170156357  -0.676460232   3.459926298  -0.907398211
#> [126]  -0.838351888  -3.282717007  -1.606595384   0.105188214  -0.581923418
#> [131]   0.277397200   1.455425240  -3.231816858   0.363562807   1.087588300
#> [136]   0.387599171  -2.279001978  -0.989112432  -1.247479908  -2.134455629
#> [141]  -0.481001908  -0.119153264  -0.052353791  -0.076109421  -1.256083526
#> [146]   6.041441390   0.931744885  -2.479158585  -1.678819820 -13.154401401
#> [151]  -0.095079511  -1.471535903  -1.424340646   0.773903261  -2.182543375
#> [156]  -1.231492928  -1.566716755  -0.598846594  -1.196330457  -1.075831921
#> [161]  -0.297084618   3.781351587   1.446570265  -0.536913619   0.041309662
#> [166]  -0.596847338  -0.260287130   0.311262797  -3.323342777  -0.022006717
#> [171]   0.687918388  -1.008462475   0.015740870   0.796921912   0.916335300
#> [176]  -1.129313015   0.870286625  -2.806322200  -3.605989758  -0.065971851
#> [181]  -3.449701222  -1.306629038  -0.525446598  -1.934882094  -0.067508807
#> [186]  -2.411167777  -0.435513925   1.944204757   0.380278943  -0.398466116
#> [191]   1.803943615   1.157660771  -1.523659339  -0.121944064  12.098168163
#> [196]  -1.650231182  11.853755171  -1.175984861  -1.689253064   3.202235956
#> 
#> 
#> $Estim$vals
#>          [,1]      [,2]      [,3]      [,4]
#> [1,] 1.350000 0.4000000 1.0000000 0.3000000
#> [2,] 1.254499 0.5118235 0.9543142 0.9918242
#> [3,] 1.311907 0.4495955 0.9967998 0.6979764
#> [4,] 1.334415 0.4676414 1.0085928 0.6678007
#> 
#> 
#> $duration
#> elapsed 
#>   0.304 
#> 
#> $method
#> [1] "Koutrouvelis_spacing=Kout"
#>