python多元线性回归

random_state 在需要设置random_state的地方给其赋一个值,当多次运行此段代码能够得到完全一样的结果,别人运行此代码也可以复现你的过程。若不设置此参数则会随机选择一个种子,执行结果也会因此而不同了。虽然可以对random_state进行调参,但是调参后在训练集上表现好的模型未必在陌生训练集上表现好,所以一般会随便选取一个random_state的值作为参数。

线性回归模型的评估可以根据RMSE来判断,

最小二乘法与梯度下降法的区别:

实现方法和结果不同:最小二乘法是直接对求导找出全局最小,是非迭代法。而梯度下降法是一种迭代法,先给定一个β ,然后向下降最快的方向调整β ,在若干次迭代之后找到局部最小。梯度下降法的缺点是到最小点的时候收敛速度变慢,并且对初始点的选择极为敏感,其改进大多是在这两方面下功夫。

“P>|t|”这一列来判断,这一列中我们可以选定一个阈值,比如统计学常用的就是0.05、0.02或0.01,这里我们就用0.05,凡是P>|t|这列中数值大于0.05的自变量,我们都把它剔除掉,这些就是和y线性关系不显著的自变量,所以都舍去,请注意这里指的自变量是x1x9,不包括图3中const这个值。但是这里有一个原则,就是一次只能剔除一个,剔除的这个往往是P值最大的那个,比如图3中P值最大的是x4,那么就把它剔除掉,然后再用剩下的x1、x2、x3、x5、x6、x7、x8、x9来重复上述建模过程,再找出P值最大的那个自变量,把它剔除,如此重复这个过程,直到所有P值都小于等于0.05,剩下的这些自变量就是我们需要的自变量,这些自变量和y的线性关系都比较显著,我们要用这些自变量来进行建模。

### 多元线性回归的实现方法 多元线性回归是一种统计技术,用于分析一个连续因变量与两个或更多自变量之间的关系。在Python中,可以通过多种方法实现多元线性回归,包括使用`statsmodels`库和`scikit-learn`库。 #### 使用 `statsmodels` 库 `statsmodels` 是一个强大的统计分析库,它允许用户通过公式接口轻松地指定模型。例如,可以通过以下方式实现多元线性回归: ```python import statsmodels.api as sm # 假设 exp 是包含数据的数据框,avg_exp 是目标变量 # Income, Age, dist_home_val, dist_avg_income 是自变量 X = exp[['Income', 'Age', 'dist_home_val', 'dist_avg_income']] X = sm.add_constant(X) # 添加常数项 y = exp['avg_exp'] model = sm.OLS(y, X).fit() print(model.summary()) ``` 此方法的优点在于它可以提供详细的输出,包括参数估计值、标准误、t值、P值等统计信息,有助于深入理解模型特性[^1]。 #### 使用 `scikit-learn` 库 另一方面,`scikit-learn` 提供了一个更为简洁的接口来构建机器学习模型,包括多元线性回归。这种方法更适合于预测建模,因为它的接口设计更加直观,易于集成到更大的机器学习流程中。示例代码如下: ```python from sklearn.linear_model import LinearRegression # 假设 X 和 y 已经定义好了 model = LinearRegression() model.fit(X, y) print("截距:", model.intercept_) print("回归系数:", model.coef_) ``` 此外,`scikit-learn` 还提供了丰富的预处理和后处理工具,使得模型评估和调优变得更加简单高效。例如,可以轻松地分割训练集和测试集,以及进行交叉验证[^2]。 #### 模型解释与应用 多元线性回归模型的输出可以用来解释各个自变量对因变量的影响程度。模型中的每个系数都代表了相应的自变量对因变量的影响方向(正向或负向)以及影响的大小。这种解释性对于决策制定尤其重要。然而,需要注意的是,线性回归假设数据之间存在线性关系,这在实际应用中可能需要验证[^5]。 #### 注意事项 在应用多元线性回归之前,应该检查数据是否满足线性假设,同时注意特征选择的重要性,以避免过拟合或欠拟合模型。此外,异常值和多重共线性也可能影响模型的性能,因此在模型构建过程中应当予以考虑。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值