二次移动平均法交通量预测RMSE、MAE、MAPE、MRE代码
时间: 2023-09-22 09:06:50 浏览: 169
### 回答1:
以下是使用二次移动平均法进行交通量预测,并计算预测结果的均方根误差(RMSE)、平均绝对误差(MAE)、平均绝对百分比误差(MAPE)和平均相对误差(MRE)的示例代码:
```python
import numpy as np
# 定义二次移动平均函数
def quadratic_moving_average(data, window_size):
window = np.ones(window_size) / window_size
data_smoothed = np.convolve(data, window, mode='same')
data_quadratic = np.convolve(data_smoothed, window, mode='same')
return 2 * data_smoothed - data_quadratic
# 定义计算误差函数
def calculate_error(actual, predicted):
rmse = np.sqrt(np.mean((predicted - actual) ** 2))
mae = np.mean(np.abs(predicted - actual))
mape = np.mean(np.abs((predicted - actual) / actual)) * 100
mre = np.mean((predicted - actual) / actual)
return rmse, mae, mape, mre
# 生成示例数据
np.random.seed(123)
actual_data = np.random.randint(50, 150, size=100)
# 预测未来10个时间点的交通量
window_size = 5
predicted_data = []
for i in range(100, 110):
# 使用过去5个时间点的数据进行预测
data = actual_data[i-window_size:i]
predicted_value = quadratic_moving_average(data, window_size)[-1]
predicted_data.append(predicted_value)
# 计算误差
rmse, mae, mape, mre = calculate_error(actual_data[100:], predicted_data)
print('RMSE:', rmse)
print('MAE:', mae)
print('MAPE:', mape)
print('MRE:', mre)
```
这段代码首先定义了一个二次移动平均函数,接着定义了一个计算误差的函数。然后生成了示例数据,使用过去5个时间点的数据进行预测未来10个时间点的交通量,并计算预测结果的误差。最后输出了均方根误差、平均绝对误差、平均绝对百分比误差和平均相对误差四个指标的值。
### 回答2:
对于二次移动平均法(quadratic moving average),交通量预测常用的评估指标包括均方根误差(RMSE)、平均绝对误差(MAE)、平均绝对百分比误差(MAPE)和平均相对误差(MRE)。以下是使用Python编写的计算这些指标的代码示例:
首先,需要导入所需的库:
```python
import numpy as np
```
接下来,我们定义一个函数来计算RMSE:
```python
def calculate_rmse(actual, predicted):
return np.sqrt(((actual - predicted) ** 2).mean())
```
然后,我们定义一个函数来计算MAE:
```python
def calculate_mae(actual, predicted):
return np.abs(actual - predicted).mean()
```
接下来,我们定义一个函数来计算MAPE:
```python
def calculate_mape(actual, predicted):
return np.mean(np.abs((actual - predicted) / actual)) * 100
```
最后,我们定义一个函数来计算MRE:
```python
def calculate_mre(actual, predicted):
return np.mean((actual - predicted) / actual) * 100
```
使用以上代码,我们可以将实际值和预测值作为输入,分别调用这些函数来计算RMSE、MAE、MAPE和MRE指标的值。
注意:以上代码仅提供了计算指标的示例,具体应用中可能需要进行数据预处理和调整,以适应实际情况。
阅读全文