WARNING: Singular covariance

For questions regarding programming in the EViews programming language.

Moderators: EViews Gareth, EViews Moderator, EViews Jason, EViews Matt

Nano
Posts: 8
Joined: Mon Apr 01, 2013 1:11 am

WARNING: Singular covariance

Postby Nano » Sun Apr 21, 2013 9:26 am

Hello..

I tried to estimate this code
scalar sig_level = .05

' LS method to find the threshold
smpl @all if y<>na and pd<>na and x1<>na and x2<>na and x3<>na and x4<>na
scalar smallest_ssr = 9999999999
scalar lambda_ls = 0

matrix(1100,2) ssr
matrix(1100,2) likelihood
for !lambda = 5 to 16 step .01
series I = (P <= !lambda)
series I1 = 1 - I
for !i=1 to 4
series X{!i}1 = X{!i} * I
series X{!i}2 = X{!i} - X{!i}1
next

equation eq.ls Y I I1 X11 X21 X31 X41 X12 X22 X32 X42 P*I P*I1
ssr((!lambda-5)*100+1,1) = !lambda
ssr((!lambda-5)*100+1,2) = eq.@ssr
likelihood((!lambda-5)*100+1,1) = !lambda
likelihood((!lambda-5)*100+1,2) = eq.@logl
if (eq.@ssr < smallest_ssr) then
smallest_ssr = eq.@ssr
lambda_ls = !lambda
endif

next
ssr.xyline
show lambda_ls

' ML method to find the threshold
c=0
' LS estimate as the initial value for lambda in ML estimation
c(1) = lambda_ls
logl ll
ll.append @logl lgl
ll.append I = (P <= c(1))
ll.append I1 = 1 - I
ll.append pdI = P * I
ll.append pdI1 = P * I1
for !i=1 to 4
ll.append X{!i}1 = X{!i} * I
ll.append X{!i}2 = X{!i} - X{!i}1

next

ll.append res = Y-c(2)*I-c(3)*I1-c(4)*X11-c(5)*X21-c(6)*X31-c(7)*X41-c(8)*X12-c(9)*X22-c(10)*X32-c(11)*X42-c(12)*PI-c(13)*PI1
ll.append var = @var(res)
ll.append lgl = log(@dnorm(res/@sqrt(var))) - log(var)/2
ll.ml(c=1e-5, m=9999)
show ll.output
scalar lambda_ml = c(1)
delete X11 X12 X21 X22 X31 X32 X41 X42 var lgl i i1 pI*

' model without threshold effect
equation eq.ls y c X1 X2 X3 X4 P

' likelihood ratio test
scalar LR = 2 * (ll.@logl - eq.@logl)
scalar pval = 1 - @cchisq(LR, 6)
matrix(1100, 2) significant
!ubound = eq.@logl + .5 * @qchisq(1-sig_level, 6)
for !i=1 to 1100

significant(!i,1) = 5 + (!i-1) *.1
significant(!i,2) = ( likelihood(!i,2)>!ubound )

next
significant.xyline
stop

but I get this error result:

LogL: LL
Method: Maximum Likelihood (Marquardt)
Date: 04/21/13 Time: 23:20
Sample: 1970 2012 IF Y<>NA AND PD<>NA AND X1<>NA AND X2<>NA
AND X3<>NA AND X4<>NA
Included observations: 43
Evaluation order: By equation
Convergence achieved after 44 iterations
WARNING: Singular covariance - coefficients are not unique

Coefficient Std. Error z-Statistic Prob.

C(1) 9.360000 NA NA NA
C(2) 2.425151 NA NA NA
C(3) 7.316270 NA NA NA
C(4) 0.045148 NA NA NA
C(5) -0.257951 NA NA NA
C(6) -0.050322 NA NA NA
C(7) 0.101561 NA NA NA
C(8) 0.186773 NA NA NA
C(9) -0.923444 NA NA NA
C(10) 0.016425 NA NA NA
C(11) 0.105307 NA NA NA
C(12) 0.320774 NA NA NA
C(13) -0.229812 NA NA NA

Log likelihood -75.23549 Akaike info criterion 4.103976
Avg. log likelihood -1.749662 Schwarz criterion 4.636432
Number of Coefs. 13 Hannan-Quinn criter. 4.300329

what the causes it?

Thank you in advance

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 13604
Joined: Tue Sep 16, 2008 5:38 pm

Re: WARNING: Singular covariance

Postby EViews Gareth » Sun Apr 21, 2013 12:12 pm

At the found optimum, the covariance matrix is singular, thus the covariance matrix is not defined.

Nano
Posts: 8
Joined: Mon Apr 01, 2013 1:11 am

Re: WARNING: Singular covariance

Postby Nano » Sun Apr 21, 2013 4:05 pm

So, i won't get t-statistic n pvalue? How i fix it, Gareth?

Many thanks,


Return to “Programming”

Who is online

Users browsing this forum: No registered users and 2 guests