我试图拟合在statsmodels
库中实现的线性回归模型。
我对fit()
方法有疑问。假设我有大小为15的数据样本,我将其分为3部分,并拟合模型。调用每个fit()
将正确拟合模型或覆盖以前的值。
import numpy as np
import statsmodels.api as sm
# First call
X = [377, 295, 457, 495, 9] # independent variable
y = [23, 79, 16, 41, 40] # dependent variable
X = sm.add_constant(X)
ols = sm.OLS(y,X).fit()
#print(ols.summary())
# Second call
X = [243, 493, 106, 227, 334]
y = [3, 5, 1, 62, 92]
X = sm.add_constant(X)
ols = sm.OLS(y,X).fit()
#print(ols.summary())
# Third call
X = [412, 332, 429, 96, 336]
y = [30, 1, 99, 4, 33]
X = sm.add_constant(X)
ols = sm.OLS(y,X).fit()
#print(ols.summary())
scores = [9, 219, 200, 134, 499]
scores = sm.add_constant(scores)
print(ols.predict(scores))
每次调用sm。OLS(y, X)
创建一个新的模型实例,每次调用. fi()
都会创建一个新的结果实例,并引用基础模型。实例是相互独立的,也就是说,它们不共享任何属性,除了可能的基础数据。
但是,在您的示例中,您为每个回归结果指定了相同的名称ols
,因此名称ols
仅指最后一个实例。
更多细节:
创建一个类似于sm的模型。OLS(y,X)
不复制数据y和X(如果不需要复制)。具体来说,如果y和X是numpy ndarray,则不需要任何副本。(从技术上讲,转换和复制行为取决于np.asarray(y)和np.asarray(X))
对fit
方法的重复调用每次都会创建一个新的结果实例,但它们保留对同一模型实例的引用。例如,我们可以使用不同的cov_类型选项调用拟合,这将使用不同的假设创建参数估计的协方差。
model = sm.OLS(y,X)
ols_nonrobust = model.fit()
ols_hc = model.fit(cov_type="HC3")
在大多数模型中,来自拟合的所有相关信息都附加到结果实例中。在上面的例子中,我们可以同时查看两个结果实例,例如比较参数标准误差
ols_nonrobust.bse
ols_hc.bse
在RLM和一些时间序列模型中,一些合适的选项可能会改变基础模型。在这种情况下,只有最后的结果实例创建的适合将具有正确的模型属性。如果我们在循环中只需要最后一个实例,这些情况很好,但是如果同时使用几个结果实例并且它们引用相同的基础模型实例,这些情况可能会显示不正确的结果。http://www.statsmodels.org/devel/pitfalls.html#repeated-calls-to-fit-with-different-parameters
我对机器学习算法不熟悉,对统计学知识了解不多。我知道这个例子可能不能给你正确的体积预测。然而,让我们考虑我有两个功能和来预测音量。这是样本数据 让我们假设股票是“趋势股票”,在第四天和第五天,股票价值正在上升。我想预测剩余时间框架的音量。在这种情况下,线性回归如何计算数量的产出值?
我在做多元回归问题。我有如下数据集。 我把工资作为因变量,其他变量作为自变量。在做了数据预处理之后,我运行了梯度下降、回归模型。我估计了所有独立特征的偏差(截距)和系数。我想做实际值的散点图和我预测的假设的回归线。因为我们这里有不止一个功能, 我有以下问题。 > 在绘制回归线时,特征值是多少,这样我就可以计算假设值。?意思是现在,我有截距和所有特征的权重,但是我没有特征值。我现在如何决定特征值?
我有困难得到的线性回归中的加权数组来影响输出。 这里有一个没有加权的例子。 现在,当添加重量时,我得到了相同的最佳拟合线。我希望看到回归有利于曲线的陡峭部分。我做错了什么?
我正在使用statsmodels的OLS线性回归和Patsy四次公式,但得到的回归与LibreOffice Calc的数据相比不太吻合。为什么这与LibreOffice Calc的结果不匹配? STATSAMDELS代码: 生成以下系数: 和下面的图表: 但是,如果我将数据放入LibreOffice Calc,请单击绘图并选择“插入趋势线…”,选择“多项式”,输入“度”=4,然后选择“显示方程”,
主要内容:假设函数,损失函数通过前面内容的介绍,我相信你对线性回归算法已经有了初步的认识。那我们应该如何在一大堆数据中求解出“线性方程呢”比如前面提及的房价预测问题?这种问题才是符合实际应用的。数据样本会散落在“线性方程”的周围(下图 2 所示), 而我们要做就是让线性方程的“直线”尽可能“拟合”周围的数据点。本节我们将从数学角度解析线性回归模型。 假设函数 通过前面知识的学习,我们知道假设函数是用来预测结果的。前面讲述时为
statsmodels是一个包含统计模型、统计测试和统计数据挖掘python模块。对每一个模型都会生成一个对应的统计结果。统计结果会和现有的统计包进行对比来保证其正确性。 特点 线性回归模型: 普通最小二乘法 广义最小二乘法 加权最小二乘法 具有自回归误差的最小二乘法 分位数回归 递归最小二乘法 具有混合效应和方差成分的混合线性模型 GLM:支持所有一参数指数族分布的广义线性模型 用于二项式和泊松