久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    最大似然估計

     felwell 2019-10-17

      極大似然估計(Maximum likelihood estimation, 簡稱MLE)是很常用的參數估計方法,極大似然原理的直觀想法是,一個隨機試驗如有若干個可能的結果A,B,C,...,若在一次試驗中,結果A出現了,那么可以認為實驗條件對A的出現有利,也即出現的概率P(A)較大。也就是說,如果已知某個隨機樣本滿足某種概率分布,但是其中具體的參數不清楚,參數估計就是通過若干次試驗,觀察其結果,利用結果推出參數的大概值

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    EM算法:Expectation-Maximization:
    最大似然:
        已知:(1)樣本服從分布的模型, (2)觀測到的樣本
        求解:模型的參數
        總的來說:極大似然估計就是用來估計模型參數的統計學方法
         
        最大似然數學問題(100名學生的身高問題)
            樣本集X={x1,x2,…,xN} N=100
            概率密度:p(xi|θ)抽到男生i(的身高)的概率
            獨立同分布:同時抽到這100個男生的概率就是他們各自概率的乘積
            θ是服從分布的參數
             
            最大似然函數:l(a) = sum(logp(xi;a)) (對數是為了乘法轉加法)
            什么樣的參數 能夠使得出現當前這批樣本的概率最大
            已知某個隨機樣本滿足某種概率分布,但是其中具體的參數不清楚,
            參數估計就是通過若干次試驗,觀察其結果,利用結果推出參數的大概值。

     本文以一個簡單的離散型分布的例子,模擬投擲硬幣估計頭像(head)向上的概率。投擲硬幣落到地面后,不是head向上就是tail朝上,這是一個典型的伯努利實驗,形成一個伯努利分布,有著如下的離散概率分布函數:

    其中,x等于1或者0,即結果,這里用1表示head、0表示tail。

    對于n次獨立的投擲,很容易寫出其似然函數:

    現在想用極大似然估計的方法把p估計出來。就是使得上面這個似然函數取極大值的情況下的p的取值,就是要估計的參數。

    首先用Python把投擲硬幣模擬出來:

    1
    2
    3
    4
    5
    6
    7
    8
    from scipy.stats import bernoulli
    # 生成樣本
    p_1 = 1.0 / 2  # 假設樣本服從p為1/2的bernouli分布
    fp = bernoulli(p_1)  # 產生伯努利隨機變量
    xs = fp.rvs(100)   # 產生100個樣本
    print(xs[:30])      # 看看前面30個
    # [0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 1]

    通過此模擬,使用sympy庫把似然函數寫出來:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    import sympy
    import numpy as np
    # 估計似然函數
    x, p, z = sympy.symbols('x p z', positive=True)
    phi = p**x*(1-p)**(1-x)   #分布函數
    L = np.prod([phi.subs(x, i) for i in xs])   # 似然函數
    print(L)
    # p**52*(-p + 1)**48

    從上面的結論可以看出,作100次伯努利實驗,出現positive、1及head的數目是52個,相應的0也就是tail的數目是48個,比較接近我們設的初始值0.5即1.0/2(注意:現在我們假設p是未知的,要去估計它,看它經過Python的極大似然估計是不是0.5!)。

    下面,我們使用Python求解這個似然函數取極大值時的p值:

    1
    2
    3
    4
    logL = sympy.expand_log(sympy.log(L))
    sol = sympy.solve(sympy.diff(logL, p), p)
    print(sol)
    [13/25]

     

    結果沒有什么懸念,13/25的值很接近0.5!

    取對數后,上面Python的算法最后實際上是求解下式為0的p值:

    上式留給網友自行推導,很多資料都可找到該式。這個式子,是著名的Logistic回歸參數估計的極大似然估計算法的基礎。

    進一步,為了更加直觀的理解投擲硬幣的伯努利實驗,我們給出以均值(均值為100*0.5=50)為中心對稱的加總離散概率(概率質量函數(probability mass function),Python里面使用pmf函數計算):

    1
    2
    3
    4
    5
    6
    from scipy.stats import binom
    b = binom(100, .5)
    # 以均值為中心對稱的加總概率
    g = lambda x: b.pmf(np.arange(-x, x) + 50).sum()
    print(g(10))
    0.9539559330706295

      對于上面的Python代碼,可以通過下圖更好地去理解:

    把這20個離散的概率全部顯示出來,也可以看到在0.08左右取到它們的最大值

    本文針對簡單的離散概率質量函數的分布使用Python進行了極大似然估計,同時該方法可以應用于連續分布的情形,只要通過其概率密度函數得出其似然函數即可。

     

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 一区二区和激情视频| 国产久免费热视频在线观看| 免费又大粗又爽又黄少妇毛片| 香蕉EEWW99国产精选免费| 人妻少妇邻居少妇好多水在线 | 久久99精品久久久久久动态图| 亚洲国产天堂久久综合226114| 亚洲午夜成人精品电影在线观看| 亚洲AV成人无码精品电影在线 | 精精国产XXXX视频在线播放| 东方av四虎在线观看| 亚洲制服无码一区二区三区| 国产精品自产拍在线观看中文| 偷拍专区一区二区三区| 成年女人18级毛片毛片免费| 国内精品一区二区不卡| 国产成人午夜福利在线观看| 国产在线精品中文字幕| 无码AV无码天堂资源网影音先锋| 久久精品国产99国产精品澳门| 隔壁人妻被水电工征服| 久久中文字幕一区二区| 久久99精品九九九久久婷婷| 羞羞影院午夜男女爽爽免费视频| 无码人妻精品一区二区三区蜜桃| 男人又大又硬又粗视频| 最新中文字幕AV无码专区不| 天天影视网色香欲综合网| www久久只有这里有精品| 欧美交A欧美精品喷水| 无套内谢少妇一二三四| 少妇AV一区二区三区无码| 亚洲高清WWW色好看美女| 亚洲综合在线一区二区三区| 亚洲愉拍一区二区三区| 在线 欧美 中文 亚洲 精品| 狠狠综合久久AV一区二区| 日本亚洲中文字幕不卡| 国产精品中文字幕观看| 一本色道久久综合亚洲精品| 秋霞人妻无码中文字幕|