我想建立一个内建的程序叫
myprobit(y,x)裡面包含兩個proc
一個是probit的likelihood
一個是qnewton的程序
proc myprobit(y,x);
local b0,coef,g,g,rec;
b0=olsqr(y,x);
{coef,f,g,rec}=qnewton(&probll,b0);
rept(coef);
endp;
proc probll(b);
local prob;
prob= cdfn(x*b);
ll=-sum(y.*log(prob)+(1-y).*log(1-prob));
rept(ll);
endp;
1
把這個程序存成myprobit.src放在gauss\src裡頭
2
在lib\user.lcg加入
myprobit.src
myprobit : proc
prob_ll : proc
3
開始引用
library user;
e=rndn(100,1);
x1=rndu(100,1)
y1=1+2*x+e;
y1=y1 .>0;
coef=myprobit(y1,x1)
4
error: y is undefined symbol
想請教兩個問題:
a: 請問需要加入指令什麼才能讓myprobit的程序
自動認為y=y1,x=x1
b:如果引用qnewton,是不是要在myprobit.src加入
#include qnewton.ext
謝謝 ^^