perl 统计::回归无法运行单变量回归?

kadbb459  于 2023-01-21  发布在  Perl
关注(0)|答案(2)|浏览(152)

我使用的是Statistics::Regression的Perl模块,它可以很好地运行多变量回归,但是,如果我在构造函数中只提供一个回归函数

my $reg = Statistics::Regression->new("Sample Regression", ['X']);

它会显示以下消息:

Statistics::Regression:new: Cannot run a regression without at least two variables.

人们也有同样的问题吗?错误消息的措辞不清楚,所以我解释为好像我没有提供响应变量。但事实并非如此,因为根据它的文档和我在旁边测试的一些示例脚本,构造函数中的列表引用应该只包含回归变量。
在任何情况下,你如何运行一个单变量回归(没有常数项)使用这个模块?(我知道Statistics::OLS可以做到这一点,但为了简单起见,我希望这个模块的工作。无论如何,感觉像一个愚蠢的遗漏,如果它真的不能处理。)谢谢!

xzlaal3s

xzlaal3s1#

该模块的说明如下:
Regression.pm 是一个多元线性回归软件包。
考虑到这一点,你似乎不太可能让它做单变量回归。
不过你可以试着发邮件给the author,因为Statistics::Regression已经发布给CPAN四年了,所以他可能已经停止支持它了(或者它的状态很好,不需要更多的发布),但是值得一试,听听他的意见,他可能有一些想法来修补它以处理一元回归。

icomxhvb

icomxhvb2#

若要使其适用于一元变量,请指定一个常量,如下所示:(include的第一个参数是y,第二个参数是[ constant,x ])。如果不需要截距,也可以指定0作为常量

my $reg=Statistics::Regression->new("Title", ["Intercept", "Slope"]);
 
$reg->include(1.3, [1.0, 1.0]);
$reg->include(2.9, [1.0, 2.0]);
$reg->include(4.2, [1.0, 3.0]);
$reg->include(5.4, [1.0, 4.0]);

在此blog中查找详细说明

相关问题