GO言語でカイ二乗検定

homebrewでインストールできる。

brew install go

GOROOTはGOの実行ファイルのある場所。GOPATHはGOのワーキングディレクトリ。パッケージはGOPATH以下にインストールされる。初期設定では定義されない。$HOME/goにおいている人が多いようだったのでそうする。

カイ二乗検定をやってみたい。以下のコマンドで統計に関する関数のパッケージがインストールされる。

go get -u gonum.org/v1/gonum/stat

カイ二乗検定をやってみる。

#Chisq.go
package main
  import (
    "fmt"
    "gonum.org/v1/gonum/stat"
  )
  func main(){
    var chisq float64
    o := []float64{20, 10, 80, 90}
    e := []float64{15, 15, 85, 85}
    chisq = stat.ChiSquare(o, e)
    fmt.Println(chisq)
  }

実行結果

3.9215686274509802

検定も追加する。上記のパッケージには確率密度関数が含まれていないため、別のパッケージをインストールする。

go get -v github.com/atgjack/prob
#Chisq.go
package main
  import (
    "fmt"
    "gonum.org/v1/gonum/stat"
    "github.com/atgjack/prob"
  )
  func main(){
    o := []float64{20, 10, 80, 90}
    e := []float64{15, 15, 85, 85}
    chisq := stat.ChiSquare(o, e)
    dist := stat.ChiSquared{1.0}
    fmt.Printf("Chi-squared value: %.5f\n", chisq)
    fmt.Printf("P-value: %.5f\n", 1-dist.Cdf(chisq))
  }
Chisqared value: 3.92157
P-value: 0.04767

コメント

このブログの人気の投稿

Inverse-normal transformation

SKAT

locuszoom