0
我有两个单独的数据库 - 温度分贝与小时数据和房屋分贝与逐分钟数据为hvac使用。我试图将hvac数据绘制为一周,一个月和一年的温度系列,但由于增量与温度db不匹配,所以我遇到了麻烦。我尝试过使最小二乘法适合,但是a)不知道如何在熊猫中做一个,以及b)在一两天后变得非常不准确。有什么建议么?熊猫回归
我有两个单独的数据库 - 温度分贝与小时数据和房屋分贝与逐分钟数据为hvac使用。我试图将hvac数据绘制为一周,一个月和一年的温度系列,但由于增量与温度db不匹配,所以我遇到了麻烦。我尝试过使最小二乘法适合,但是a)不知道如何在熊猫中做一个,以及b)在一两天后变得非常不准确。有什么建议么?熊猫回归
pandas
timeseries
是完美的这个应用程序。你可以合并一系列不同的采样频率,并且pandas
将完美对齐它们。然后,您可以对数据进行降采样并进行预回归,即使用statsmodels
。一个模拟的例子:
In [288]:
idx1=pd.date_range('2001/01/01', periods=10, freq='D')
idx2=pd.date_range('2001/01/01', periods=500, freq='H')
df1 =pd.DataFrame(np.random.random(10), columns=['val1'])
df2 =pd.DataFrame(np.random.random(500), columns=['val2'])
df1.index=idx1
df2.index=idx2
In [291]:
df3=pd.merge(df1, df2, left_index=True, right_index=True, how='inner')
df4=df3.resample(rule='D')
In [292]:
print df4
val1 val2
2001-01-01 0.399901 0.244800
2001-01-02 0.014448 0.423780
2001-01-03 0.811747 0.070047
2001-01-04 0.595556 0.679096
2001-01-05 0.218412 0.116764
2001-01-06 0.961310 0.040317
2001-01-07 0.058964 0.606843
2001-01-08 0.075129 0.407842
2001-01-09 0.833003 0.751287
2001-01-10 0.070072 0.559986
[10 rows x 2 columns]
In [294]:
import statsmodels.formula.api as smf
mod = smf.ols(formula='val1 ~ val2', data=df4)
res = mod.fit()
print res.summary()
OLS Regression Results
==============================================================================
Dep. Variable: val1 R-squared: 0.061
Model: OLS Adj. R-squared: -0.056
Method: Least Squares F-statistic: 0.5231
Date: Fri, 27 Jun 2014 Prob (F-statistic): 0.490
Time: 10:46:34 Log-Likelihood: -3.3643
No. Observations: 10 AIC: 10.73
Df Residuals: 8 BIC: 11.33
Df Model: 1
==============================================================================
coef std err t P>|t| [95.0% Conf. Int.]
------------------------------------------------------------------------------
Intercept 0.5405 0.224 2.417 0.042 0.025 1.056
val2 -0.3502 0.484 -0.723 0.490 -1.467 0.766
==============================================================================
Omnibus: 3.509 Durbin-Watson: 2.927
Prob(Omnibus): 0.173 Jarque-Bera (JB): 1.232
Skew: 0.399 Prob(JB): 0.540
Kurtosis: 1.477 Cond. No. 4.69
==============================================================================
它看起来像你应该能够做的熊猫时间序列。如果你可以发布一些数据的例子,你到目前为止的代码以及你期望的输出应该是什么,那么问题可能会更清楚。 – aquavitae