馬爾可夫鏈

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
練習題
在英國,工黨成員的第二代加入工黨的機率爲 0.5,加入保守黨的機率爲 0.4, 加入自由黨的機率爲 0.1。而保守黨成員的第二代加入保守黨的機率爲 0.7,加入工黨的 機率爲 0.2,加入自由黨的機率爲 0.1。而自由黨成員的第二代加入保守黨的機率爲 0.2, 加入工黨的機率爲 0.4,加入自由黨的機率爲 0.4。求自由黨成員的第三代加入工黨的概 率是多少?在通過較長的時間後,各黨成員的後代加入各黨派的機率分佈是否具備穩定 性? python

# -*- coding: utf-8 -*-
""" Created on Thu Jan 12 10:42:13 2017 @author: DaiPuWei """
""" 這是練習題一: 在英國,工黨成員的第二代加入工黨的機率爲 0.5,加入保守黨的機率爲 0.4, 加入自由黨的機率爲 0.1。而保守黨成員的第二代加入保守黨的機率爲 0.7,加入 工黨的 機率爲 0.2,加入自由黨的機率爲 0.1。而自由黨成員的第二代加入保守黨的機率 爲 0.2, 加入工黨的機率爲 0.4,加入自由黨的機率爲 0.4。求自由黨成員的第三代加入 工黨的概 率是多少?在通過較長的時間後,各黨成員的後代加入各黨派的機率分佈是否具 有穩定性? """

import pandas as pd
import numpy as np

def run_main():
    """ 這是主函數 """

    #黨派名稱
    party_name = ['工人黨','保守黨','自由黨']

    #黨派下一代的轉移矩陣
    p = np.array([0.5,0.4,0.1,0.7,0.2,0.1,0.2,0.4,0.4]).reshape((3,3))
    party_transition_matrix = pd.DataFrame(p,index = party_name,columns = party_name)

    #第一次機率分佈
    probility = [0.,0.,0.]
    sumall = sum(p)    
    for i in range(3):
        probility[i] = sumall[i]/sum(sumall)
    first_probility = pd.Series(probility,index = party_name)

    #自由黨成員第三代計入工人黨的機率
    tmp = first_probility * party_transition_matrix
    print('自由黨成員第三代計入工人黨的機率爲:%f' %tmp['工人黨']['自由黨'])    

    #各黨派成員的後代假如各黨派的機率分佈
    a,b = np.linalg.eig(party_transition_matrix)
    finally_probility = []
    for i in range(len(b)):s
        if all(b[i]>0):
            finally_probility = b[i]
            break
    finally_probility = finally_probility / sum(finally_probility)
    Finally_probility = pd.Series(finally_probility,index = party_name)
    print('各黨派成員的後代假如各黨派的機率分佈以下:')
    print(Finally_probility)


if __name__ == '__main__':
    run_main()

這裏寫圖片描述

本文分享 CSDN - 追夢者_AIer。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。web

相關文章
相關標籤/搜索