?? p70 probit1.ox
字號:
#include <oxstd.h>
#import <maximize>
decl g_mY; // global data
decl g_mX; // global data
fProbit(const vP, const adFunc, const avScore,
const amHessian)
{
decl prob = probn(g_mX * vP); // vP is column vector
adFunc[0] = double(
meanc(g_mY .* log(prob) + (1-g_mY) .* log(1-prob)));
return 1; // 1 indicates success
}
main()
{
decl vp, dfunc, ir;
print("Probit example 1, run on ", date(), ".\n\n");
decl mx = loadmat("data/finney.in7");
g_mY = mx[][0]; // dependent variable: 0,1 dummy
g_mX = 1 ~ mx[][3:4]; // regressors: 1, Lrate, Lvolume
delete mx;
vp = <-0.465; 0.842; 1.439>; // starting values
MaxControl(-1, 1, 1); // print each iteration
// maximize
ir = MaxBFGS(fProbit, &vp, &dfunc, 0, TRUE);
print("\n", MaxConvergenceMsg(ir),
" using numerical derivatives",
"\nFunction value = ", dfunc * rows(g_mY),
"; parameters:", vp);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -