当前位置: 首页 > news >正文

做研究的网站工业设计介绍

做研究的网站,工业设计介绍,保障网装修网官网,做英语quiz的网站1. 项目背景 本文基于kaggle平台相关竞赛项目#xff0c;具体连接如下#xff1a; Time Series Forecasting With SARIMAX 基本信息如内容说明、数据集、已提交代码、当前得分排名以及比赛规则等#xff0c;如图【1】所示#xff0c;可以认真阅读。 图 1 2. 数据读取 …1. 项目背景 本文基于kaggle平台相关竞赛项目具体连接如下 Time Series Forecasting With SARIMAX 基本信息如内容说明、数据集、已提交代码、当前得分排名以及比赛规则等如图【1】所示可以认真阅读。 图 1 2. 数据读取 使用python得pandas包进行csv文件读取 # read train data df pd.read_csv(/kaggle/input/daily-climate-time-series-data/DailyDelhiClimateTrain.csv, parse_dates[date], # change to date time formatindex_coldate) df2.1 数据信息图形化观测 定义图表模板对不同维度的数据进行图形化分析。 # Get the xgridoff template grid_template pio.templates[xgridoff] grid_template.layout.font.color black # Light gray font color# Adjust gridline color and width grid_template.layout.xaxis.gridcolor rgba(0, 0, 0, 0.3) # Light gray with transparency grid_template.layout.yaxis.gridcolor rgba(0, 0, 0, 0.3) # Light gray with transparency grid_template.layout.xaxis.gridwidth 1 # Set gridline width grid_template.layout.yaxis.gridwidth 1 # Set gridline width# Update Plotly templates with template pio.templates[ts_template] grid_template# plot mean temperature, humidity, wind_speed, meanpressure for watch fig_meantemp px.line(df, xdf.index, ymeantemp, titleMean Temperature Over Time) fig_meantemp.update_layout(templatets_template, title_x0.5, xaxis_titleDate) fig_meantemp.show()fig_humidity px.line(df, xdf.index, yhumidity, titleHumidity Over Time) fig_humidity.update_layout(templatets_template, title_x0.5, xaxis_titleDate) fig_humidity.show()fig_wind_speed px.line(df, xdf.index, ywind_speed, titleWind Speed Over Time) fig_wind_speed.update_layout(templatets_template, title_x0.5, xaxis_titleDate) fig_wind_speed.show()fig_meanpressure px.line(df, xdf.index, ymeanpressure, titleMean Pressure Over Time) fig_meanpressure.update_layout(templatets_template, title_x0.5, xaxis_titleDate) fig_meanpressure.show()可以从图中看到平均温度湿度风速气压等数据波形图也可以宏观的看到数据的趋势信息为后续进一步学习做初步探索。 2.3 数据分量 针对预测数据项平均温度我们可以分解平均温度数据进一步分析数据形态、特征。seasonal_decompose函数返回的是trend、seasonal和residual分别表示趋势、季节性和残留三部分的数据observed代表原始序列。 from statsmodels.tsa.seasonal import seasonal_decompose import plotly.subplots as sp# Perform seasonal decomposition result seasonal_decompose(df[meantemp], modeladditive, period365)# Plot the decomposed components fig sp.make_subplots(rows4, cols1, shared_xaxesTrue, subplot_titles[Observed, Trend, Seasonal, Residual])fig.add_trace(go.Scatter(xdf.index, yresult.observed, modelines, nameObserved), row1, col1) fig.add_trace(go.Scatter(xdf.index, yresult.trend, modelines, nameTrend), row2, col1) fig.add_trace(go.Scatter(xdf.index, yresult.seasonal, modelines, nameSeasonal), row3, col1) fig.add_trace(go.Scatter(xdf.index, yresult.resid, modelines, nameResidual), row4, col1)fig.update_layout(template ts_template,height800, titleSeasonal Decomposition of Mean Temperature) fig.show() 从图中可以看出平均温度数据具有很强的季节性趋势是逐渐升高的但是受噪音影响有限。 2.4 特征选取 基于以上数据形态观测和分析我们可以大致选定数据中的部分特征作为影响平均温度的因素特征信息这里就选定湿度和风速作为特征信息进行训练和预测。 df df[[meantemp, humidity, wind_speed]] df.head()2.5 归一化 from sklearn.preprocessing import RobustScaler, MinMaxScalerrobust_scaler RobustScaler() # scaler for wind_speed minmax_scaler MinMaxScaler() # scaler for humidity target_transformer MinMaxScaler() # scaler for target (meantemp)dl_train[wind_speed] robust_scaler.fit_transform(dl_train[[wind_speed]]) # robust for wind_speed dl_train[humidity] minmax_scaler.fit_transform(dl_train[[humidity]]) # minmax for humidity dl_train[meantemp] target_transformer.fit_transform(dl_train[[meantemp]]) # targetdl_test[wind_speed] robust_scaler.transform(dl_test[[wind_speed]]) dl_test[humidity] minmax_scaler.transform(dl_test[[humidity]]) dl_test[meantemp] target_transformer.transform(dl_test[[meantemp]])display(dl_train.head())3. 序列稳定性验证 import statsmodels.api as sm from statsmodels.tsa.stattools import adfuller, kpssdef check_stationarity(series):print(f\n___________________Checking Stationarity for: {series.name}___________________\n)# ADF Testadf_test adfuller(series.values)print(ADF Test:\n)print(ADF Statistic: %f % adf_test[0])print(p-value: %f % adf_test[1])print(Critical Values:)for key, value in adf_test[4].items():print(\t%s: %.3f % (key, value))if (adf_test[1] 0.05) (adf_test[4][5%] adf_test[0]):print(\u001b[32mSeries is Stationary (ADF Test)\u001b[0m)else:print(\x1b[31mSeries is Non-stationary (ADF Test)\x1b[0m)print(\n -*50 \n)# KPSS Testkpss_test kpss(series.values, regressionc, nlagsauto)print(KPSS Test:\n)print(KPSS Statistic: %f % kpss_test[0])print(p-value: %f % kpss_test[1])print(Critical Values:)for key, value in kpss_test[3].items():print(\t%s: %.3f % (key, value))if kpss_test[1] 0.05:print(\u001b[32mSeries is Stationary (KPSS Test)\u001b[0m)else:print(\x1b[31mSeries is Non-stationary (KPSS Test)\x1b[0m) 那么我们就可以针对选取的特征进行稳定性分析。 # Check initial stationarity for each feature check_stationarity(df[meantemp]) check_stationarity(df[humidity]) check_stationarity(df[wind_speed])___________________Checking Stationarity for: meantemp___________________ADF Test:ADF Statistic: -2.021069 p-value: 0.277412 Critical Values:1%: -3.4355%: -2.86410%: -2.568 Series is Non-stationary (ADF Test)--------------------------------------------------KPSS Test:KPSS Statistic: 0.187864 p-value: 0.100000 Critical Values:10%: 0.3475%: 0.4632.5%: 0.5741%: 0.739 Series is Stationary (KPSS Test)___________________Checking Stationarity for: humidity___________________ADF Test:ADF Statistic: -3.675577 p-value: 0.004470 Critical Values:1%: -3.4355%: -2.86410%: -2.568 Series is Stationary (ADF Test)--------------------------------------------------KPSS Test:KPSS Statistic: 0.091737 p-value: 0.100000 Critical Values:10%: 0.3475%: 0.4632.5%: 0.5741%: 0.739 Series is Stationary (KPSS Test)___________________Checking Stationarity for: wind_speed___________________ADF Test:ADF Statistic: -3.838097 p-value: 0.002541 Critical Values:1%: -3.4355%: -2.86410%: -2.568 Series is Stationary (ADF Test)--------------------------------------------------KPSS Test:KPSS Statistic: 0.137734 p-value: 0.100000 Critical Values:10%: 0.3475%: 0.4632.5%: 0.5741%: 0.739 Series is Stationary (KPSS Test)可以看到平均温度是不稳定的那么就需要进行差分处理。具体什么是差分及差分阶数请自行查阅。 # 1st degree differencing df[meantemp_diff] df[meantemp].diff().fillna(0) # diff() default is 1st degree differencing check_stationarity(df[meantemp_diff]);___________________Checking Stationarity for: meantemp_diff___________________ADF Test:ADF Statistic: -16.294070 p-value: 0.000000 Critical Values:1%: -3.4355%: -2.86410%: -2.568 Series is Stationary (ADF Test)--------------------------------------------------KPSS Test:KPSS Statistic: 0.189493 p-value: 0.100000 Critical Values:10%: 0.3475%: 0.4632.5%: 0.5741%: 0.739 Series is Stationary (KPSS Test)3. 模型训练和预测 # Split the data into training and testing sets train_size int(len(df) * 0.8) train, test df.iloc[:train_size], df.iloc[train_size:]# SARIMAXfrom statsmodels.tsa.statespace.sarimax import SARIMAX from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error# Define the SARIMA model parameters order (1, 1, 6) # Non-seasonal order (p, d, q) seasonal_order (1, 1, 1, 7) # Seasonal order (P, D, Q, S) # Fit the SARIMA model sarima_model SARIMAX(endogtrain[meantemp], exogtrain[[humidity, wind_speed]],orderorder, seasonal_orderseasonal_order) sarima_model_fit sarima_model.fit()# Make predictions sarima_pred sarima_model_fit.predict(starttest.index[0], endtest.index[-1],exogtest[[humidity, wind_speed]])# Calculate error mse mean_squared_error(test[meantemp], sarima_pred) r2 r2_score(test[meantemp], sarima_pred) print(Test MSE:, mse) print(Test R²: %.3f % r2)# Plot the results plt.figure(figsize(10, 5)) plt.plot(test.index, test[meantemp], labelActual) plt.plot(test.index, sarima_pred, colorred, labelSARIMA Forecast) plt.xlabel(Date) plt.ylabel(Meantemp) plt.title(SARIMA Forecast) plt.legend() plt.show()如上图所示可以看到实际数据和预测数据的曲线图从图中可以看到预测值与实际值之间存在较大gap这就说明模型泛化能力不好对未来数据不能很好的预测。这就需要我们对模型参数进行调整以期达到更好的效果。当然有些是受限于模型本身的局限性始终无法对数据做出合理预测那就需要我们寻找其他的模型比如RNN、CNN、LSTM等更强大的深度学习模型来进行训练和预测。 参考文档 ARIMA Model for Time Series Forecasting 季节性ARIMA模型https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average 如有侵权烦请联系删除
http://www.yingshimen.cn/news/34112/

相关文章:

  • 网站点易居销售系统
  • 程序员做音乐网站天津雍鑫建设投资集团网站
  • 哪有网站给光头强做面网络营销有哪些例子
  • 宁远做网站网站开发的形式有
  • 做网站可能遇到的问题网站诊断从哪里开始
  • 网站后台 全局配置shein跨境电商平台
  • 虚拟主机搭建网站网站建设推广哪里好
  • 建设网站的心得体会建设微网站多少钱
  • 哪家做网站公司好黑彩网站建设需要什么东西
  • 网站数据丢失怎么办揭阳网站制作维护
  • 笔记本怎么做1920宽的网站鞍山人才网站
  • 网站开发文档是什么概念yp77731域名查询
  • 做箱包哪个网站好阿里云共享云主机做网站
  • 中国风html5网站模板杭州模板做网站
  • 苏州优化网站哪家好深圳市网站建设公司设计
  • 门户网站 备案家用电脑桌面做网站
  • 做网站优化网站开发备案需要什么
  • 创建自己的网站需要准备什么网站制作简介
  • 如何在天气预报网站做引流外贸网站源码哪个好
  • 怎么做网站的快照国家企业信用信息(全国)
  • 网站底部友情链接怎么做的免费ftp 网站
  • iphone开发网站广东住房和城乡建设局网站首页
  • 如何让自己做的网站可以播放歌曲商业运营是做什么的
  • 建设购物网站的意义熟练做网站需要了解什么
  • 咸阳公司网站建设申请免费网址
  • 外贸自建站平台价格平面设计画册设计
  • 主流的网站开发技术wordpress 文章缩放
  • 关于购物网站开发的开题报告做网站要考虑哪些因素
  • 免费设计图片素材网站中国建设质量安全协会网站
  • 云南大学网站建设wordpress5.0.2图集怎么发布