
文章來源:gzh資料萬花筒
文章鏈接:https://mp.weixin.qq.com/s/7uBQ3_sR2j_zxH8mj7nKeQ
點擊上方藍字關注我們

因果推斷系列文章分為上下兩篇,目錄結構如下所示,上篇文章可點擊閱讀原文查看,
利用Dowhy框架進行因果分為推斷上下兩篇
上篇
1.Dowhy因果推斷框架
2.資料來源及預處理
3.資料相關性探索
下篇
因果推斷實作
1.計算期望頻數,初步判斷因果關系
2.基于假設創建因果圖
3.識別因果效應
4.估計因果效應
5.反駁結果

這篇文章是基于上篇的基礎繼續分析,前面資料預處理的程序可以通過閱讀全文查看源代碼,這篇文章主要聚焦于因果推斷的實作,
因果推斷實作
完成資料預處理和相關性分析之后,各個變數間的相關性已有了初步的結果,但變數間是否存在因果關系我們還不得而知,需要進行進一步地因果推斷,即利用Dowhy框架,通過建模,識別,估計,反駁四個步驟實作,
1.計算期望頻數,初步判斷因果關系
由相關性分析可知,客戶取消預訂與“停車位”、“總共居住天數”以及“預定房型與分配房型不同”三個因素相關性較高,除此以上三個因素之外,還有部分因素與客戶取消預定呈現微弱相關性,例如,“預定變更”、“特殊要求”等因素,
相關不一定等同于因果,而且由圖9-10可知,資料集中正負樣本比例是不均衡的,所以此處需要對因果關系進行初步地探究,于是對于變數“取消”、“預定房型與分配房型不同”,在資料集中隨機選取1000次觀測資料,統計兩個變數值相同的次數,即如果酒店為客戶分配了與預定房型不同的房間客戶取消訂單的次數,重復上述程序10000次取平均值,實作代碼如下,
counts_sum=0
for i in range(1,10000):
counts_i = 0
rdf = data.sample(1000)
counts_i =rdf[rdf["is_canceled"]==rdf["different_room_assigned"]].shape[0]
counts_sum+= counts_i
counts_sum/10000
517.9752
理論上,這個次數應該是總觀測次數的50%,因為面對酒店分配與房型不符的房間時,客戶要不取消預訂,要不接受房型調整,如果這個次數接近總觀測次數的50%,那么可初步說明兩兩變數之間可能存在一定因果關系,
最終得出的期望頻數為518,即如果為客戶分配與預訂不同的房型約50%的概率客戶會取消預定,
預定變更,即變數“booking_changes”,也是造成酒店分配與預訂時不同房型的影響因素之一,所以去除該變數的影響也較為重要,因此,此處隨機選擇預定變更次數為0的1000個用戶,重復10000次上述的隨機試驗后取平均值,實作代碼如下,
counts_sum=0
for i in range(1,10000):
counts_i = 0
rdf =data[data["booking_changes"]==0].sample(1000)
counts_i =rdf[rdf["is_canceled"]==rdf["different_room_assigned"]].shape[0]
counts_sum+= counts_i
counts_sum/10000
492.0499
對于預定變更次數為0的客戶,最終得出的期望頻數為492,約占樣本的50%,是符合預期的,
對于發生預定改變的用戶,同樣選擇1000個客戶,進行上述的隨機試驗10000次,實作代碼如下,
counts_sum=0
for i in range(1,10000):
counts_i = 0
rdf =data[data["booking_changes"]>0].sample(1000)
counts_i =rdf[rdf["is_canceled"]==rdf["different_room_assigned"]].shape[0]
counts_sum+= counts_i
counts_sum/10000
663.4134
而對于預定變更次數大于0的客戶,最終得出的期望頻數為663,期望頻數發生較大差異,這一結果提示我們“預定改變”可能是一個混雜變數,
但是影響客戶取消預訂的混雜變數可能不止“預定改變”一個,面對這種情況Dowhy框架會將未指明的變數都作為潛在的混雜變數進行推斷,
2.基于假設創建因果圖
基于期望頻數的探索以及資料分析師自己的經驗,對于變數之間的關系,我們做出如下的假設,
-細分市場,即“market_segment”欄位,包括了兩種類別即“個人”和“旅行社”,這里表示酒店預訂來源,預訂方式會影響客戶從預定酒店到到達酒店之間的時間,即“lead _time”欄位,
-國家,即“country”欄位,是指客戶旅行的目標國家,目標國家的旅游熱度會影響用戶是否會提前預定酒店,從而對“lead_time”造成影響;同時不同的國家有不同的飲食習慣,因此目的國家和美食,即“meal”欄位,之間也有一定關聯,
完整文章請移步gzh資料萬花筒,https://mp.weixin.qq.com/s/7uBQ3_sR2j_zxH8mj7nKeQ
本文使用 文章同步助手 同步
本文由博客一文多發平臺 OpenWrite 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/286045.html
標籤:大數據
