利用二次多项式模型对excle格式钟差数据进行数据预处理和预测,写一段程序
时间: 2024-02-18 18:59:10 浏览: 26
以下是利用Python实现二次多项式模型对excel格式钟差数据进行数据预处理和预测的程序:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# 读取excel格式钟差数据
data = pd.read_excel('data.xlsx')
# 提取时间和钟差数据
X = data.iloc[:, 0].values.reshape(-1, 1)
y = data.iloc[:, 1].values.reshape(-1, 1)
# 数据预处理
# 去除异常值
X = X[y < 100]
y = y[y < 100]
# 数据平滑
y_smooth = pd.Series(y.ravel()).rolling(window=10).mean().values.reshape(-1, 1)
# 数据标准化
X_std = (X - np.mean(X)) / np.std(X)
y_std = (y_smooth - np.mean(y_smooth)) / np.std(y_smooth)
# 模型拟合
X_poly = np.concatenate([X_std, X_std ** 2], axis=1)
model = LinearRegression()
model.fit(X_poly, y_std)
a0_std = model.intercept_
a1_std, a2_std = model.coef_
# 数据预测
X_pred = np.arange(1, 1001).reshape(-1, 1)
X_pred_std = (X_pred - np.mean(X)) / np.std(X)
X_pred_poly = np.concatenate([X_pred_std, X_pred_std ** 2], axis=1)
y_pred_std = a0_std + a1_std * X_pred_std + a2_std * X_pred_std ** 2
y_pred = y_pred_std * np.std(y_smooth) + np.mean(y_smooth)
# 绘制图像
plt.plot(X, y_smooth, label='original data')
plt.plot(X_pred, y_pred, label='predicted data')
plt.legend()
plt.show()
```
其中,需要将钟差数据保存为名为"data.xlsx"的excel文件,并放在Python程序同一目录下。程序首先读取数据,然后进行数据预处理、模型拟合和数据预测,并最终绘制出原始数据和预测数据的图像。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)