感谢,想请问另一个问题是
Multiple Regression 需要使用矩阵的inverse吗?
如果单纯一行 745 36 66
应该为745 + 0*x1+0*x2
也就是回传 745, 0 ,0 才是?
※ 引述《lgen7604 ()》之铭言:
: ※ 引述《yu1 (~renard~)》之铭言:
: : 在CPAN找到一个lib:
: : http://0rz.tw/4huar
: : use Statistics::MVA::MultipleRegression;
: : my $lol = [
: : [qw/745 36 66/],
: : [qw/895 37 68/],
: : [qw/442 47 64/],
: : [qw/440 32 53/],
: : [qw/1598 1 101/],
: : ]; #用这个带入最后一行linear_regression的function就OK
: : $x=1;
: : $y=2;
: : $z=3;
: : $j = [$x, $y, $z];
: : push (@tmpArray , $j );
: : $lol = \@tmpArray; ##用这个却不行
: : my ($Array_ref_of_coefficients, $R_sq) = linear_regression($lol);
: : 请问该如何动态的push变量进$lol这个Array, 达成不用事先宣告的方法呢?
: : 感谢回答!!
: 你仔细看 error message 是否如下
: Math::MatrixReal: matrix not invertible
: 所以不是你动态 push array 的方法不对
: 而是矩阵内容的问题
: my $lol = [
: [qw/1 2 3/],
: [qw/2 4 6/],
: [qw/3 6 9/],
: ];
: 上面的矩阵也会发生错误
: 你换个 2D array 的内容试试看
: 应该就没问题了