二次移动平均法交通量预测RMSE代码
时间: 2023-10-03 10:04:11 浏览: 27
以下是使用二次移动平均法进行交通量预测并计算 RMSE 的 Python 代码示例:
```python
import pandas as pd
import numpy as np
from sklearn.metrics import mean_squared_error
# 读入数据
df = pd.read_csv('traffic_data.csv')
df['date'] = pd.to_datetime(df['date'])
# 构建二次移动平均模型
def quadratic_ma(data, k):
n = len(data)
sma = np.zeros(n)
for i in range(k):
sma[k-1] += data[i]
sma[k-1] /= k
for i in range(k, n):
sma[i] = (2 * data[i] + (k - 1) * sma[i-1] - data[i-k]) / k
return sma
# 进行交通量预测
df['qma'] = quadratic_ma(df['volume'].values, 12)
# 计算 RMSE
rmse = np.sqrt(mean_squared_error(df['volume'].values[12:], df['qma'][12:]))
print('RMSE:', rmse)
```
需要注意的是,这里使用了 `pandas` 和 `numpy` 库,还使用了 Sklearn 中的 `mean_squared_error` 函数计算 RMSE。同时,为了方便起见,这里假设输入数据已经按照时间排序,并且每个时间点的间隔为相等的时间跨度。如果实际情况不符合这些假设,需要对代码进行相应的修改。