引き継ぎ(中島)

目次


目標 

データ数を2つ集め併せて計4つほど程度増やしてRF6.2で出力を得て不要な変数が消せて必要な変数がどれかわかる結果を得る.

データの収集 

統計で見る日本というサイトで,2020年の外国人数と小学校数(可住地面積100km2当たり)の csvファイルをダウンロードする.

0229_02.png
0229_03.png
0229_04.png
0229_05.png
0229_06.png

使ったプログラムとデータ 

データの整理 

ダウンロードしたopen-data-20240220T010622Z-001の中にあるopen-data_2020.csvに集めた2つのデータを元あるデータの右に貼り付ける. その際に,1741のデータから651のデータを抜き取ること.どのデータを入れるかはdata-city_num.csvを見て行う.(市町村コードが対応するデータを取る.)

0229_07.png
0229_08.png

RとRstudioの導入 

実験に必要なRとRstudioの導入は下記のサイトを参考にして行った.
https://www.tku.ac.jp/iss/guide/classroom/soft/rrstudio-desktop.html

潜在クラス分析(LPA) 

①パッケージのインストール
これはLPA.Rを先ほどダウンロードしたRstudio上で行う.
プログラムを実行する前に,パッケージのインストールを行う.
右下のPackagesの所から行う.

0229_014.png

左上のInstallを押すと,好きなPackagesをインストールすることが出来る.(今回はdepmix4)

0229_015.png

ライブラリのインストールの確認は以下のコードをconsoleに打つことで行える.

>library()

インストールしたパッケージが完了していることが分かる.

0229_016.png

②プログラムの変更部分
・12行目:

 lca <- read.csv("C:/Users/towa/Labo2/数値実験結果/オープンデータを用いたLPA/2020/data_2020/LPA_0209/open-data_2020.csv")

ファイルパスを自分のものに変更.
・27行目:

cont_data <- dplyr::select(lca, x_1:y) #連続変数のみ

(lca, x_1:y)のx_1:yをx_1:x_13に変更(データが13個あるため).
・36行目

mod <- mix(list(x_1~1, x_2~1, x_3~1, x_4~1, x_5~1, x_6~1, x_7~1, x_8~1, x_9~1, x_10~1, y~1),

y~1を消して,x_11~1,x_12~1,x_13~1を追加.(これもデータが13個あるため).
・39行目

nstates=5, # the number of latent classes

5から4に変更.(今回は4つのクラスに分けたいから). ・40行目

family=list(gaussian(),gaussian(),gaussian(),gaussian(),gaussian(),gaussian(),gaussian(),gaussian(),gaussian(),gaussian(),gaussian()),

gaussian()の数を13個に増やす.
・42行目

respstart=runif(110))

110から104に変更.(今回は104個の潜在クラスのどれに所属するかの初期確率) ・59行目

write.csv(posterior.states, "C:/Users/towa/Labo2/数値実験結果/オープンデータを用いたLPA/2020/data_2020/LPA_0209/open-data_2020_LPA_result.csv")

データを入れたい場所を自分のものに指定.

0229_017.png

③プログラムの実行
Rstudioで実行を行う場合,実行したい範囲を選択して右上のRunをクリックするとできる.
今回はパラメータ数にペナルティを設けることでモデルの自由度に対して制限をかける指標であるBICを表示するところまで行った.

0229_09.png

console上の結果は下記のようになる.

0229_010.png

グラフはplots上に表示される.

0229_011.png

次にモデルのフィット結果から得られる各対象が各潜在クラスに所属する確率(事後確率)を計算.これにより,各対象がどのクラスに属するかの推定が得られる.
そして,その結果を表示し,csvファイルに保存する.

0229_012.png

console部分で最初の6つの観測に対して小数点以下4桁を四捨五入して表示され,指定したcsvファイルに保存されていることが分かる.

0229_013.png

RF6の実装 


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS