ywh19860616 发表于 2012-2-16 11:59 
好的,谢谢epoh老师,我先尝试看看
刚检查一下,
数据的dimension不同,需要修改
修改部分及结果如下:
fmlad.ox 请修改main()如下
原: // indexes: APX = 4, EEX = 5, EXAA = 6, Powernext = 9
改: // indexes: APX = 1, EEX = 2, EXAA = 3, Powernext = 6
main()
{
decl asNames;
decl mData = loadmat("MeanPrices.xls",&asNames)[168:][];
// indexes: APX = 4, EEX = 5, EXAA = 6, Powernext = 9
//decl iYindex = 9;
//decl vXindex = 5;
//revised
// indexes: APX = 1, EEX = 2, EXAA = 3, Powernext = 6
decl iYindex = 6;
decl vXindex = 2;
decl vY = mData[][iYindex];
println("\nY variable : ", asNames[iYindex]);
decl mX = mData[][vXindex];
println("X variables: ", asNames[vXindex]);
fmlad(vY, mX, -1);
}
////////results:
Y variable : Powermean
LAD regression
Estim. Std.Err. t-ratio p-value
-0.47472 1.7487 -0.27147 0.78603
0.98907 0.053248 18.575 5.1496e-077
FM-LAD regression (Bartlett kernel, Bandwidth = 4)
Estim. Std.Err. t-ratio p-value
-0.54928 1.7487 -0.31411 0.75343
0.99079 0.014468 68.483 0.00000
Pseudo R2 = 0.721374
Regression MAD = 3.4057
Regression RMSE = 6.3673
LAD-AR1 coeff = 0.269091
OLS-AR1 coeff = 0.347363