deadwoll Mesaj tarihi: Kasım 10, 2013 Paylaş Mesaj tarihi: Kasım 10, 2013 Test komutları: DEFINE bpktest(!POSITIONAL !TOKENS(1) /!POSITIONAL !TOKENS(1) /!POSITIONAL !CMDEND). * Regression to get the residuals and residual plots. REGRESSION /STATISTICS R ANOVA /DEPENDENT !1 /METHOD=ENTER !3 /SCATTERPLOT=(*ZRESID,*ZPRED) /RESIDUALS HIST(ZRESID) NORM(ZRESID) /SAVE RESID(residual) . do if $casenum=1. print /"Examine the scatter plot of the residuals to detect" /"model misspecification and/or heteroscedasticity" /"" /"Also, check the histogram and np plot of residuals " /"to detect non normality of residuals " /"Skewness and kurtosis more than twice their SE indicate non-normality ". end if. * Checking normality of residuals. DESCRIPTIVES VARIABLES=residual /STATISTICS=KURTOSIS SKEWNESS . * New dependent variable (g) creation. COMPUTE sq_res=residual**2. compute constant=1. AGGREGATE /OUTFILE='tempdata.sav' /BREAK=constant /rss = SUM(sq_res) /N=N. MATCH FILES /FILE=* /FILE='tempdata.sav'. EXECUTE. if missing(rss) rss=lag(rss,1). if missing(n) n=lag(n,1). compute g=sq_res/(rss/n). execute. * BP&K tests. * Regression of g on the predictors. REGRESSION /STATISTICS R ANOVA /DEPENDENT g /METHOD=ENTER !3 /SAVE RESID(resid) . *Final report. do if $casenum=1. print /" BP&K TESTS" /" ==========". end if. * Routine adapted from Gwilym Pryce. matrix. compute p=!2. get g /variables=g. get resid /variables=resid. compute sq_res2=resid&**2. compute n=nrow(g). compute rss=msum(sq_res2). compute ii_1=make(n,n,1). compute i=ident(n). compute m0=i-((1/n)*ii_1). compute tss=transpos(g)*m0*g. compute regss=tss-rss. print regss /format="f8.4" /title="Regression SS". print rss /format="f8.4" /title="Residual SS". print tss /format="f8.4" /title="Total SS". compute r_sq=1-(rss/tss). print r_sq /format="f8.4" /title="R-squared". print n /format="f4.0" /title="Sample size (N)". print p /format="f4.0" /title="Number of predictors (P)". compute bp_test=0.5*regss. print bp_test /format="f8.3" /title="Breusch-Pagan test for Heteroscedasticity" + " (CHI-SQUARE df=P)". compute sig=1-chicdf(bp_test,p). print sig /format="f8.4" /title="Significance level of Chi-square df=P (H0:" + "homoscedasticity)". compute k_test=n*r_sq. print k_test /format="f8.3" /title="Koenker test for Heteroscedasticity" + " (CHI-SQUARE df=P)". compute sig=1-chicdf(k_test,p). print sig /format="f8.4" /title="Significance level of Chi-square df=P (H0:" + "homoscedasticity)". end matrix. !ENDDEFINE. Rastgele veri üretmek için kullandığım komut: INPUT PROGRAM. - VECTOR x(3). - LOOP #I = 1 TO 34. - LOOP #J = 1 TO 3. - COMPUTE x(#J) = NORMAL(1). - END LOOP. - END CASE. - END LOOP. - END FILE. END INPUT PROGRAM. execute. İlgili test komutu: BPKTEST x1 2 x2 x3. Bu değişen varyans testi için kullandığım bir syntax kodu ve çalışıyor. Fakat kendim generate ettiğim datalarla değil de gerçek datalarla çalışmak istediğim zaman bir yere kadar çalışıp hata veriyor. (Bu arada generate komutuyla aynı özellikleri taşıyan bir seriyle çalışıyorum. n=34, normal dağılıyor, 1'i dependant 3 değişkenim var gerçek datada da) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
deadwoll Mesaj tarihi: Kasım 16, 2013 Konuyu açan Paylaş Mesaj tarihi: Kasım 16, 2013 :'( Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
riglous Mesaj tarihi: Kasım 18, 2013 Paylaş Mesaj tarihi: Kasım 18, 2013 null olabilir. ram yetmiyor olabilir. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar