[python]多元回归

这篇博客介绍了Python中使用statsmodels库进行多元回归分析,包括pandas数据处理和不同类型的回归模型如OLS、GLS、WLS等。还提到了增加指数项对模型的影响,并探讨了statsmodels计算的R-squared值与手动计算结果的差异。作者分享了相关资源链接以供深入理解。
摘要由CSDN通过智能技术生成

pandas

statsmodels

https://www.statsmodels.org/stable/regression.html
除了下面代码用的ols(最小二乘法以外),还有
OLS(endog[, exog, missing, hasconst]) A simple ordinary least squares model.
GLS(endog, exog[, sigma, missing, hasconst]) Generalized least squares model with a general covariance structure.
WLS(endog, exog[, weights, missing, hasconst]) A regression model with diagonal but non-identity covariance structure.
GLSAR(endog[, exog, rho, missing]) A regression model with an AR§ covariance structure.
yule_walker(X[, order, method, df, inv, demean]) Estimate AR§ parameters from a sequence X using Yule-Walker equation.
QuantReg(endog, exog, **kwargs) Quantile Regression
RecursiveLS(endog, exog, **kwargs) Recursive least squares

import pandas as pd
import statsmodels.api as sm
import pylab as pl
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn import metrics
from sklearn import preprocessing
from sklearn.metrics import r2_score
from sklearn.metrics import mean_squared_error
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
import sys

df = pd.read_csv("t_traindata000")
df.columns = ['mesh500mid', 'season', 'period', 'dayflag', 'pop']
print df.head()
# drop_fisrt(to avoid multicollinearity)
season_dummy = pd.get_dummies(df['season'], prefix='season',drop_first=True)
period_dummy = pd.get_dummies(df['period'], prefix='period',drop_first=True)
cols_to_keep = ['pop', 'mesh500mid', 'dayflag']
data = df[cols_to_keep].join(season_dummy.ix[:, 'season_1':]).join(period_dummy.ix[:, 'period_1':])
data.head()
#data['intercept'] = 1.0

train_cols = data.columns[2:] 
#logit = sm.Logit(data['pop'], data[train_cols])
 

#----------------

#-----------------
	
data_cur=data[data['mesh500mid']== 533941604] #533944882
X = data_cur
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值