全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Gauss专版
3103 4
2008-12-18

use gpe2; 
output file = gpe\jieguo.txt reset;
load data[22,2] = gpe\5zhangshuju.txt;
z = data[2:22,.];
proc dierliepaixu(x);
local c,t,s;
c=rows(x);
for u(1,c-1,1);
for i(1,c-1,1);
if x[i,2]>x[i+1,2];
t=x[i,2];
s=x[i,1];
x[i,1]=x[i+1,1];
x[i,2]=x[i+1,2];
x[i+1,1]=s;
x[i+1,2]=t;
endif;
endfor;
endfor;
retp(x);
endp;
w=dierliepaixu(z);
w1=w[1:8,.];
w2=w[14:21,.];
proc yiyuanhuigui(x);
local c,sumxfy,avrxfy,sumsrx,avrsrx,b2fenzi,b2fenmu,b2,b1,sumei2,tss,r,q,sumsrx2,seb2fenmu,seb2,seb1,t1,t2,f;
c=rows(x);
sumxfy = 0;
for i(1,c,1);
sumxfy = sumxfy+x[i,1];
endfor;
avrxfy = sumxfy/c;                   /*计算消费y的和和均值*/
sumsrx = 0;
for i(1,c,1);
sumsrx = sumsrx+x[i,2];
endfor;
avrsrx = sumsrx/c;                     /*计算收入x的和和均值*/
b2fenzi=0;
b2fenmu=0;
for i(1,c,1);
b2fenzi=b2fenzi+(x[i,2]-avrsrx)*(x[i,1]-avrxfy);
b2fenmu=b2fenmu+(x[i,2]-avrsrx)*(x[i,2]-avrsrx);
endfor;                                  /*计算b1估计值的分子和分母*/
b2=b2fenzi/b2fenmu;
b1=avrxfy-b2*avrsrx;                      /*计算出估计值b1,b2*/
sumei2=0;
for i(1,c,1);
sumei2=sumei2+((x[i,1]-(b1+b2*x[i,2]))*(x[i,1]-(b1+b2*x[i,2]))); 
endfor;                                  /*计算残差的平方和*/
tss=0;
for i(1,c,1);
tss=tss+(x[i,1]-avrxfy)*(x[i,1]-avrxfy);
endfor;                                  /*计算TSS*/
r=1-sumei2/tss;                          /*计算可决系数*/
q=sqrt(sumei2/(c-2));                        /*计算标准差的无偏估计*/
sumsrx2=0;
for i(1,c,1);
sumsrx2=sumsrx2+x[i,2]*x[i,2];
endfor;                                   /*计算srx的平方和*/
seb2fenmu=0;
for i(1,c,1);
seb2fenmu=seb2fenmu+(x[i,2]-avrsrx)*(x[i,2]-avrsrx);
endfor;
seb2=q/sqrt(seb2fenmu);                       /*计算b2的标准差*/
seb1=q*sqrt(sumsrx2/(c*seb2fenmu));          /*计算b1的标准差*/
t1=b1/seb1;                                   /*计算t1的统计量*/
t2=b2/seb2;                                   /*计算t2的统计量*/
f=t2*t2;
print "b2的估计值"   b2;
print "b1的估计值"   b1;
print "可决系数r"    r;
print "b2的标准差"   seb2;
print "b1的标准差"   seb1;
print "t1的统计量"   t1;
print "t2的统计量"   t2;                      
print "f的统计量"    f;                        /*打印结果*/
endp;

yiyuanhuigui(w1);

yiyuanhuigui(w2);

end;

goldfeld-quanadt的检验程序

但是程序执行后yiyuanhuigui(w1);执行了  结果也打印出来了

而yiyuanhuigui(w2);却显示的出错error G0168 : Wrong number of returns

请问这是什么原因  谢谢了

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2008-12-19 13:31:00
Wrong number of returns
你的过程返回的变量不一致。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-12-20 07:44:00
proc 缺少retp()
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-12-22 17:12:00

proc yiyuanhuigui(x);retp 好像没有找到。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-12-22 17:16:00

proc yiyuanhuigui(x);后面的retp 好像没有找到。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群