メインコンテンツへスキップ
見出し画像

書記が数学やるだけ#209 最尤推定から最小二乗法へ

    最小二乗法は,最尤推定の特別なケースであることを示す。


    問題

    今回は正規分布について。

    スクリーンショット 2021-12-17 8.23.35


    説明

    前回同様,確率密度関数から考える。

    スクリーンショット 2021-12-17 8.36.05


    パラメータはμとσの2つがあり,それぞれについて考えていく。

    スクリーンショット 2021-12-17 8.36.23


    スクリーンショット 2021-12-17 8.26.35


    スクリーンショット 2021-12-17 8.27.03


    尤度関数は,図のように多変量で示される。最尤推定は,その山の頂上(最大値)を求めることに相当する。

    スクリーンショット 2021-12-17 8.27.19


    次に,誤差が正規分布である線形回帰モデルについて考える。パラメータはaとbの2つがある。

    スクリーンショット 2021-12-18 11.32.18


    スクリーンショット 2021-12-18 11.33.07


    これについて尤度関数を計算していくと,最小二乗法の式にたどり着く。つまり,誤差が正規分布である線形回帰モデルの最尤推定量は,線形回帰モデルの最小二乗法による正規方程式の解と一致する。

    ちなみに,最尤推定では誤差が正規分布でないモデルも考えることができる(一般化線形モデル;GLM)。これには線形回帰のほか,ポアソン回帰やロジスティック回帰などが含まれる。


    解答

    一見面倒に見えるが,対数をとると一気に見通しがよくなる。

    数学やるだけ解答#209_page-0001


    「誤差が正規分布である線形回帰モデルの最尤推定量は,線形回帰モデルの最小二乗法による正規方程式の解と一致する」ことを示す。

    数学やるだけ解答#209_page-0002


    (3)について,コードを以下に示す。途中までは#206と同じ。

    #必要なライブラリ
    from sklearn import datasets
    import numpy as np
    import pandas as pd
    from pandas import DataFrame
    import matplotlib.pyplot as plt
    import seaborn as sns


    #irisデータセット
    dataset = datasets.load_iris()
    target_names = dataset.target_names
    targets = dataset.target
    feature_names = dataset.feature_names
    features = dataset.data
    df = DataFrame(features, columns = feature_names)
    df['target'] = target_names[targets]
    df.head()


    #散布図
    X = df[["sepal length (cm)"]]
    y = df[["petal length (cm)"]]
    plt.scatter(X, y)

    画像11


    今回は「statsmodels」を使って回帰分析を行う。

    import statsmodels.api as sm
    
    X = sm.add_constant(X)
    
    model = sm.OLS(y, X)
    result = model.fit()
    result.summary()

    スクリーンショット 2021-12-21 10.27.32

    とりあえず見るべきポイント(一部は後日扱う):

    R-squared,Adj. R-squared:決定係数,後者は自由度による調整を施したもの,回帰のあてはまり具合の指標

    F-statistic,Prob (F-statistic):F検定の結果,回帰に意味があるかの指標

    Log-Likelihood:対数尤度,大きい方があてはまりが良い

    AIC:赤池情報量規準,モデルの単純さを加味した基準,小さい方がモデルとして優れている

    BIC:ベイズ情報量規準,小さい方がモデルとして優れている

    coef:回帰係数,今回なら「y=0.4349+2.0531x」と予測されている

    t,P>|t|;回帰係数のt検定,回帰係数が0でないか(意味があるか)の指標,[0.025 0.975]は区間推定


    本記事のもくじはこちら:


    あなたへのおすすめ