最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Python對商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷售量時(shí)間序列建模預(yù)測分析|附代碼數(shù)據(jù)

2023-03-24 00:06 作者:拓端tecdat  | 我要投稿

全文下載鏈接:http://tecdat.cn/?p=17748

最近我們被客戶要求撰寫關(guān)于銷售量時(shí)間序列的研究報(bào)告,包括一些圖形和統(tǒng)計(jì)輸出。

在本文中,在數(shù)據(jù)科學(xué)學(xué)習(xí)之旅中,我經(jīng)常處理日常工作中的時(shí)間序列數(shù)據(jù)集,并據(jù)此做出預(yù)測

我將通過以下步驟:

探索性數(shù)據(jù)分析(EDA)

  • 問題定義(我們要解決什么)

  • 變量識別(我們擁有什么數(shù)據(jù))

  • 單變量分析(了解數(shù)據(jù)集中的每個(gè)字段)

  • 多元分析(了解不同領(lǐng)域和目標(biāo)之間的相互作用)

  • 缺失值處理

  • 離群值處理

  • 變量轉(zhuǎn)換

預(yù)測建模

  • LSTM

  • XGBoost

問題定義

我們在兩個(gè)不同的表中提供了商店的以下信息:

  • 商店:每個(gè)商店的ID

  • 銷售:特定日期的營業(yè)額(我們的目標(biāo)變量)

  • 客戶:特定日期的客戶數(shù)量

  • StateHoliday:假日

  • SchoolHoliday:學(xué)校假期

  • StoreType:4個(gè)不同的商店:a,b,c,d

  • CompetitionDistance:到最近的競爭對手商店的距離(以米為單位)

  • CompetitionOpenSince?[月/年]:提供最近的競爭對手開放的大致年份和月份

  • 促銷:當(dāng)天促銷與否

  • Promo2:Promo2是某些商店的連續(xù)和連續(xù)促銷:0 =商店不參與,1 =商店正在參與

  • PromoInterval:描述促銷啟動的連續(xù)區(qū)間,并指定重新開始促銷的月份。

利用所有這些信息,我們預(yù)測未來6周的銷售量。

#?讓我們導(dǎo)入EDA所需的庫:import?numpy?as?np?#?線性代數(shù)import?pandas?as?pd?#?數(shù)據(jù)處理,CSV文件I?/?O導(dǎo)入(例如pd.read_csv)import?matplotlib.pyplot?as?pltimport?seaborn?as?snsfrom?datetime?import?datetime plt.style.use("ggplot")?#?繪圖#導(dǎo)入訓(xùn)練和測試文件:train_df?=?pd.read_csv("../Data/train.csv") test_df?=?pd.read_csv("../Data/test.csv")#文件中有多少數(shù)據(jù):print("在訓(xùn)練集中,我們有",?train_df.shape[0],?"個(gè)觀察值和",?train_df.shape[1],?列/變量。") print("在測試集中,我們有",?test_df.shape[0],?"個(gè)觀察值和",?test_df.shape[1],?"列/變量。") print("在商店集中,我們有",?store_df.shape[0],?"個(gè)觀察值和",?store_df.shape[1],?"列/變量。")

在訓(xùn)練集中,我們有1017209個(gè)觀察值和9列/變量。
在測試集中,我們有41088個(gè)觀測值和8列/變量。
在商店集中,我們有1115個(gè)觀察值和10列/變量。

首先讓我們清理??訓(xùn)練數(shù)據(jù)集。

#查看數(shù)據(jù)train_df.head().append(train_df.tail())?#顯示前5行。

train_df.isnull().all()Out[5]: Store????????????FalseDayOfWeek????????FalseDate?????????????FalseSales????????????FalseCustomers????????FalseOpen?????????????FalsePromo????????????FalseStateHoliday?????FalseSchoolHoliday????Falsedtype:?bool

讓我們從第一個(gè)變量開始->??銷售量

opened_sales?=?(train_df[(train_df.Open?==?1)?#如果商店開業(yè)opened_sales.Sales.describe()Out[6]:count????422307.000000mean???????6951.782199std????????3101.768685min?????????133.00000025%????????4853.00000050%????????6367.00000075%????????8355.000000max???????41551.000000Name:?Sales,?dtype:?float64<matplotlib.axes._subplots.AxesSubplot?at?0x7f7c38fa6588>

看一下顧客變量

In?[9]: train_df.Customers.describe() Out[9]: count????1.017209e+06mean?????6.331459e+02std??????4.644117e+02min??????0.000000e+0025%??????4.050000e+0250%??????6.090000e+0275%??????8.370000e+02max??????7.388000e+03Name:?Customers,?dtype:?float64 <matplotlib.axes._subplots.AxesSubplot?at?0x7f7c3565d240>

train_df[(train_df.Customers?>?6000)]

我們看一下**假期**?變量。

train_df.StateHoliday.value_counts()0????8550870????131072a?????20260b??????6690c??????4100Name:?StateHoliday,?dtype:?int64train_df.StateHoliday_cat.count()1017209train_df.tail()

train_df.isnull().all()?#檢查缺失Out[18]: Store???????????????FalseDayOfWeek???????????FalseDate????????????????FalseSales???????????????FalseCustomers???????????FalseOpen????????????????FalsePromo???????????????FalseSchoolHoliday???????FalseStateHoliday_cat????Falsedtype:?bool

讓我們繼續(xù)進(jìn)行商店分析

store_df.head().append(store_df.tail())

#缺失數(shù)據(jù):Store?????????????????????????0.000000 StoreType?????????????????????0.000000 Assortment????????????????????0.000000 CompetitionDistance???????????0.269058 CompetitionOpenSinceMonth????31.748879 CompetitionOpenSinceYear?????31.748879 Promo2????????????????????????0.000000 Promo2SinceWeek??????????????48.789238 Promo2SinceYear??????????????48.789238 PromoInterval????????????????48.789238 dtype:?float64 In?[21]:

讓我們從缺失的數(shù)據(jù)開始。第一個(gè)是?CompetitionDistance

store_df.CompetitionDistance.plot.box()

讓我看看異常值,因此我們可以在均值和中位數(shù)之間進(jìn)行選擇來填充NaN

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

Python中利用長短期記憶模型LSTM進(jìn)行時(shí)間序列預(yù)測分析 - 預(yù)測電力負(fù)荷數(shù)據(jù)

左右滑動查看更多

01

02

03

04

缺少數(shù)據(jù),因?yàn)樯痰隂]有競爭。?因此,我建議用零填充缺失的值。store_df["CompetitionOpenSinceMonth"].fillna(0,?inplace?=?True)

讓我們看一下促銷活動。

store_df.groupby(by?=?"Promo2",?axis?=?0).count()

如果未進(jìn)行促銷,則應(yīng)將“促銷”中的NaN替換為零?

我們合并商店數(shù)據(jù)和訓(xùn)練集數(shù)據(jù),然后繼續(xù)進(jìn)行分析。

第一,讓我們按銷售量、客戶等比較商店。

f,?ax?=?plt.subplots(2,?3,?figsize?=?(20,10)) plt.subplots_adjust(hspace?=?0.3) plt.show()

從圖中可以看出,StoreType A擁有最多的商店,銷售和客戶。但是,StoreType D的平均每位客戶平均支出最高。只有17家商店的StoreType B擁有最多的平均顧客。

我們逐年查看趨勢。

sns.factorplot(data?=?train_store_df,?#?我們可以看到季節(jié)性,但看不到趨勢。?該銷售額每年保持不變<seaborn.axisgrid.FacetGrid?at?0x7f7c350e0c50>


我們看一下相關(guān)圖。

??"CompetitionOpenSinceMonth",?"CompetitionOpenSinceYear",?"Promo2 <matplotlib.axes._subplots.AxesSubplot?at?0x7f7c33d79c18>

我們可以得到相關(guān)性:

  • 客戶與銷售(0.82)

  • 促銷與銷售(0,82)

  • 平均顧客銷量 vs促銷(0,28)

  • 商店類別 vs 平均顧客銷量 (0,44)

我的分析結(jié)論:

  • 商店類別 A擁有最多的銷售和顧客。

  • 商店類別 B的每位客戶平均銷售額最低。因此,我認(rèn)為客戶只為小商品而來。

  • 商店類別 D的購物車數(shù)量最多。

  • 促銷僅在工作日進(jìn)行。

  • 客戶傾向于在星期一(促銷)和星期日(沒有促銷)購買更多商品。

  • 我看不到任何年度趨勢。僅季節(jié)性模式。

點(diǎn)擊文末?“閱讀原文”

獲取全文完整代碼數(shù)據(jù)資料。

本文選自《Python對商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷售量時(shí)間序列建模預(yù)測分析》。

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

Matlab用深度學(xué)習(xí)長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對文本數(shù)據(jù)進(jìn)行分類
RNN循環(huán)神經(jīng)網(wǎng)絡(luò) 、LSTM長短期記憶網(wǎng)絡(luò)實(shí)現(xiàn)時(shí)間序列長期利率預(yù)測
結(jié)合新冠疫情COVID-19股票價(jià)格預(yù)測:ARIMA,KNN和神經(jīng)網(wǎng)絡(luò)時(shí)間序列分析
深度學(xué)習(xí):Keras使用神經(jīng)網(wǎng)絡(luò)進(jìn)行簡單文本分類分析新聞組數(shù)據(jù)
用PyTorch機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分類預(yù)測銀行客戶流失模型
PYTHON用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)的參數(shù)優(yōu)化方法預(yù)測時(shí)間序列洗發(fā)水銷售數(shù)據(jù)
Python用Keras神經(jīng)網(wǎng)絡(luò)序列模型回歸擬合預(yù)測、準(zhǔn)確度檢查和結(jié)果可視化
Python用LSTM長短期記憶神經(jīng)網(wǎng)絡(luò)對不穩(wěn)定降雨量時(shí)間序列進(jìn)行預(yù)測分析
R語言中的神經(jīng)網(wǎng)絡(luò)預(yù)測時(shí)間序列:多層感知器(MLP)和極限學(xué)習(xí)機(jī)(ELM)數(shù)據(jù)分析報(bào)告
R語言深度學(xué)習(xí):用keras神經(jīng)網(wǎng)絡(luò)回歸模型預(yù)測時(shí)間序列數(shù)據(jù)
Matlab用深度學(xué)習(xí)長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對文本數(shù)據(jù)進(jìn)行分類
R語言KERAS深度學(xué)習(xí)CNN卷積神經(jīng)網(wǎng)絡(luò)分類識別手寫數(shù)字圖像數(shù)據(jù)(MNIST)
MATLAB中用BP神經(jīng)網(wǎng)絡(luò)預(yù)測人體脂肪百分比數(shù)據(jù)
Python中用PyTorch機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)分類預(yù)測銀行客戶流失模型
R語言實(shí)現(xiàn)CNN(卷積神經(jīng)網(wǎng)絡(luò))模型進(jìn)行回歸數(shù)據(jù)分析
SAS使用鳶尾花(iris)數(shù)據(jù)集訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)(ANN)模型
【視頻】R語言實(shí)現(xiàn)CNN(卷積神經(jīng)網(wǎng)絡(luò))模型進(jìn)行回歸數(shù)據(jù)分析
Python使用神經(jīng)網(wǎng)絡(luò)進(jìn)行簡單文本分類
R語言用神經(jīng)網(wǎng)絡(luò)改進(jìn)Nelson-Siegel模型擬合收益率曲線分析
R語言基于遞歸神經(jīng)網(wǎng)絡(luò)RNN的溫度時(shí)間序列預(yù)測
R語言神經(jīng)網(wǎng)絡(luò)模型預(yù)測車輛數(shù)量時(shí)間序列
R語言中的BP神經(jīng)網(wǎng)絡(luò)模型分析學(xué)生成績
matlab使用長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)對序列數(shù)據(jù)進(jìn)行分類
R語言實(shí)現(xiàn)擬合神經(jīng)網(wǎng)絡(luò)預(yù)測和結(jié)果可視化
用R語言實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測股票實(shí)例
使用PYTHON中KERAS的LSTM遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行時(shí)間序列預(yù)測
python用于NLP的seq2seq模型實(shí)例:用Keras實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯
用于NLP的Python:使用Keras的多標(biāo)簽文本LSTM神經(jīng)網(wǎng)絡(luò)分類


Python對商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷售量時(shí)間序列建模預(yù)測分析|附代碼數(shù)據(jù)的評論 (共 條)

分享到微博請遵守國家法律
富锦市| 山丹县| 克拉玛依市| 山东| 方正县| 柳州市| 汉沽区| 南岸区| 榆林市| 隆林| 夹江县| 罗平县| 称多县| 东城区| 曲阳县| 彩票| 广灵县| 镶黄旗| 长沙市| 柳江县| 舟曲县| 永德县| 丰都县| 东方市| 大埔县| 义马市| 霍山县| 泰来县| 屏边| 通江县| 罗山县| 宁津县| 荥阳市| 姜堰市| 家居| 开江县| 湖州市| 广宗县| 德格县| 福建省| 二手房|