Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python STATSOLS模型适合计算时间_Python_Statsmodels - Fatal编程技术网

Python STATSOLS模型适合计算时间

Python STATSOLS模型适合计算时间,python,statsmodels,Python,Statsmodels,我正在使用statsmodels.api进行一些简单的OLS回归。。。不知何故,每次我运行脚本时,它都会卡在model.fit上,我不知道为什么 以下是我的代码片段: import statsmodels.api as sm merged是一个作为回归变量的熊猫数据框,而memoscore是一个作为我的因变量的熊猫数据框。以下几项工作立即顺利完成: model = sm.OLS(np.array(memoscore), np.array(sm.add_constant(merged))) re

我正在使用statsmodels.api进行一些简单的OLS回归。。。不知何故,每次我运行脚本时,它都会卡在model.fit上,我不知道为什么

以下是我的代码片段:

import statsmodels.api as sm
merged
是一个作为回归变量的熊猫数据框,而memoscore是一个作为我的因变量的熊猫数据框。以下几项工作立即顺利完成:

model = sm.OLS(np.array(memoscore), np.array(sm.add_constant(merged)))
results = model.fit()
memoscore_ln = np.log(memoscore)
model = sm.OLS(np.array(memoscore_ln), np.array(sm.add_constant(merged))
然后我记录了
memoscore
,以下内容仍然立即起作用:

model = sm.OLS(np.array(memoscore), np.array(sm.add_constant(merged)))
results = model.fit()
memoscore_ln = np.log(memoscore)
model = sm.OLS(np.array(memoscore_ln), np.array(sm.add_constant(merged))
但它永远卡在这里:

results = model.fit()

有人能提出原因和/或如何解决这个问题吗?提前非常感谢

我将数据导出到R,并使用
memoscore
运行相同的OLS,并记录
memoscore
作为因变量,它工作得很好。仍然不知道statsmodels有什么问题,但至少我了解到R是执行此类简单回归任务的首选软件。

检查数据中的nan和INF。根据底层的线性代数库,这可能会挂起。OLS本身只是做一些数据准备,但基本上没有计算。@user333700,非常感谢您的评论。我检查了我的观察结果,没有一个是nan或infs。。。他们看起来都很好。。。我想在实现OLS时确实有一个矩阵需要反转,不是吗?你检查了记录的系列备忘录吗?默认情况下,statsmodels.OLS使用SVD来解决线性最小二乘问题。如果发现无效值,MKL将引发一个错误,但一些旧的LAPACK库从未返回,甚至在使用NAN或infs的某些linalg操作中出现错误。@user333700,再次感谢您的及时回复!!是的,我做了,我特别检查了所有memoscore\u ln实例是否都是数字。。。他们确实是。。。合并后的
中包含的所有其他变量也是如此。。。我想到的一件事是,
merged
中的一些变量可能是高度相关的。。。这可能是问题的原因吗?如果是这样,当未记录
memscore
时,它是如何顺利进行的?非常感谢。鉴于您的线性模型拟合速度很快,svd和设计矩阵中不会有问题。(SVD是近共线的最佳算法,如果在阈值内完全共线,则会进行正则化。)问题的根源必须来自于获取日志。检查memoscore_ln的值是否在合理范围内(例如np.min、np.max),并尝试剪裁值以查看是否有帮助。(剪辑是为了调试而不是为了最终估计。)基本上,除了-inf之外,我在数组中没有任何嫌疑犯。如果这不起作用,你能提供数据吗?你检查过R是否删除了观察结果吗?@user333700,谢谢你的建议!我检查过了,所有的观察结果都保存了。。。