天氣中的機率 | 連續兩天的天氣獨立嗎?

來源:互聯網
上載者:User

標籤:

機率論中的一個重要概念是,隨機變數的獨立性。

只有兩個隨機變數A、B相互獨立時,才會有聯合機率等於各隨機變數機率之積

P(AB)=P(A)P(B)

對於天氣來說,這顯然是不成立的。根據我們的人生經驗(life experience),如果第一天下雨的話,第二天仍然下雨的機率將大大增加。

但沒有資料證明,這一切都是鬼話。於是,我採集了一個城市一年的天氣狀況(不過這並不是真實的天氣,而是天氣預報,假定現在一天的天氣預報已經十分精確了吧),來證明這是正確的。

 

資料用csv格式來儲存,前十行是這樣的

date,highTemp,lowTemp,weather,windDir,windPow
2014-01-01,17,1,晴,北風~南風,微風
2014-01-02,17,6,晴~多雲,南風,微風
2014-01-03,16,2,多雲,北風,微風
2014-01-04,15,5,晴,北風,微風
2014-01-05,17,6,晴,北風,微風
2014-01-06,15,8,陰~小雨,北風,微風
2014-01-07,10,5,小雨,北風,3-4級
2014-01-08,8,4,陰~多雲,北風,3-4級~微風
2014-01-09,9,4,多雲~陰,北風,微風
2014-01-10,9,4,小雨,北風,微風

我使用Python的pandas包來分析資料。

首先讀入資料

import pandas as pddata = pd.read_csv(‘zhuzhou_weather.csv‘)data.head(10)

 同時我認為天氣中只要包含“雨”字,就人文這一天下雨,不論是小雨、中雨還是陰轉小雨

利用apply方法,很容易判斷天氣當中是否包含“雨”字

yu = data[‘weather‘].apply(lambda x:‘雨‘ in x)yu_prob = sum(yu)/data.shape[0]yu_prob

yu是一個二進位相量,如果某一天下了雨,則為True

 得到一天下雨的機率P(Y)=0.3929,10天裡有4天在下雨,你可能猜測這座城市在江南。

如果連續兩天下雨的機率相互獨立,那麼連續兩天下雨的機率應當為

yu_prob**2

P(Y1Y2)=P(Y1)P(Y2)=0.1543

現在到了耍點小花招的時候了,用前一天是否下雨乘以後一天是否下雨,就能得到是否連續兩天下雨的隨機變數,只有前一天下雨同時後一天下雨,結果才為真

yu2_prob = sum((yu.shift(1)*yu)[1:])/data.shape[0]

 yu.shift(1)大致就是把序列向後移了一位,

計算出真實連續兩天下雨的機率為P(Y1Y2)=0.2445,顯然大於假定連續兩天是否下雨相互獨立的情況。看來人們的經驗,有時還是挺正確的。

進一步計算出知道第一天下雨,第二天仍然下雨的條件機率

P(Y2|Y1)=P(Y2Y1)/P(Y1)=0.2445/0.3929=0.6224

如果第一天下雨,第二天有超過60%的機率下雨!!

天氣中的機率 | 連續兩天的天氣獨立嗎?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.