井出草平の研究ノート

欠損値の補完[Mplus]

潜在クラス分析で欠損値がある場合の補完はできないものかといろいろ調べてみたが、コードが見つからない。IDREで次のようなエントリを見つけた。

stats.idre.ucla.edu

Mplusは完全情報最尤推定法(FIML)を用いて、変数の一部が欠落した値を持つモデルを推定するために使用できる。これはバージョン5からデフォルトで行われ、それ以前のバージョンでは、type = missing;を使用してこのタイプの推定を要求することができた。 しかし、いくつかのモデルでは、Mplusは、予測変数のいずれかで値が見つからない場合、削除がされる。

要するに通常はデフォルトでFIMLによる補完が行われているということだ。つまり、何もしなくても欠損値が補完されてた結果が出力されているということだ。

完全情報最尤推定法による補完をしない場合

  DATA:
    LISTWISE=ON;

DATAオプションでLISTWISE=ONをする。

言われてみれば、知っていた気がする。気のせいか、、、

ベイズ推定による因子分析[Mplus]

f:id:iDES:20201228170955g:plain

頻度主義で行うのと特に何かが変わるというわけではないものの、Mplusでベイズ推定で因子分析を行った。

コード

  DATA: FILE = "HS1939.dat";

  VARIABLE:
    NAMES = x1 x2 x3 x4 x5 x6 x7 x8 x9;
    MISSING=.;

  ANALYSIS:
    ESTIMATOR = BAYES;
    PROCESS = 2;
    FBITER = 10000;

  MODEL:
    visual by x1-x3;
    textual by x4-x6;
    speed by x7-x9;

  OUTPUT:
    STDYX;

標準化した解を掲載する。

STDYX Standardization

                                Posterior  One-Tailed         95% C.I.
                    Estimate       S.D.      P-Value   Lower 2.5%  Upper 2.5%  Significance
 VISUAL   BY
    X1                 0.769       0.056      0.000       0.647       0.866      *
    X2                 0.425       0.063      0.000       0.297       0.543      *
    X3                 0.585       0.059      0.000       0.463       0.695      *

 TEXTUAL  BY
    X4                 0.852       0.024      0.000       0.800       0.894      *
    X5                 0.855       0.023      0.000       0.807       0.897      *
    X6                 0.838       0.024      0.000       0.786       0.881      *

 SPEED    BY
    X7                 0.562       0.057      0.000       0.437       0.664      *
    X8                 0.720       0.065      0.000       0.575       0.831      *
    X9                 0.669       0.067      0.000       0.540       0.804      *

 TEXTUAL  WITH
    VISUAL             0.454       0.064      0.000       0.321       0.572      *

 SPEED    WITH
    VISUAL             0.471       0.084      0.000       0.301       0.629      *
    TEXTUAL            0.281       0.071      0.000       0.142       0.417      *

 Intercepts
    X1                 4.179       0.184      0.000       3.823       4.534      *
    X2                 5.124       0.221      0.000       4.692       5.566      *
    X3                 1.970       0.099      0.000       1.781       2.167      *
    X4                 2.600       0.123      0.000       2.360       2.843      *
    X5                 3.327       0.149      0.000       3.039       3.617      *
    X6                 1.973       0.100      0.000       1.780       2.169      *
    X7                 3.806       0.165      0.000       3.486       4.130      *
    X8                 5.404       0.229      0.000       4.963       5.856      *
    X9                 5.275       0.228      0.000       4.834       5.729      *

 Variances
    VISUAL             1.000       0.000      0.000       1.000       1.000
    TEXTUAL            1.000       0.000      0.000       1.000       1.000
    SPEED              1.000       0.000      0.000       1.000       1.000

 Residual Variances
    X1                 0.408       0.084      0.000       0.250       0.581      *
    X2                 0.819       0.053      0.000       0.705       0.912      *
    X3                 0.658       0.069      0.000       0.517       0.786      *
    X4                 0.274       0.040      0.000       0.201       0.360      *
    X5                 0.268       0.039      0.000       0.196       0.348      *
    X6                 0.298       0.040      0.000       0.224       0.382      *
    X7                 0.684       0.064      0.000       0.559       0.809      *
    X8                 0.482       0.092      0.000       0.309       0.670      *
    X9                 0.553       0.091      0.000       0.354       0.708      *

最尤法での推定

いわゆる普通の因子分析である。

DATA: FILE = "HS1939.dat";

VARIABLE: 
NAMES = x1 x2 x3 x4 x5 x6 x7 x8 x9; 

MISSING=.;

ANALYSIS: 
ESTIMATOR = ML;

MODEL:
visual by x1-x3;
textual by x4-x6;
speed by x7-x9;

OUTPUT:
STDYX;

こちらも標準化した解。

STDYX Standardization

                                                    Two-Tailed
                    Estimate       S.E.  Est./S.E.    P-Value

 VISUAL   BY
    X1                 0.772      0.058     13.417      0.000
    X2                 0.424      0.063      6.752      0.000
    X3                 0.581      0.058      9.941      0.000

 TEXTUAL  BY
    X4                 0.852      0.023     37.612      0.000
    X5                 0.855      0.022     38.529      0.000
    X6                 0.838      0.024     35.597      0.000

 SPEED    BY
    X7                 0.569      0.058      9.766      0.000
    X8                 0.723      0.062     11.607      0.000
    X9                 0.665      0.066     10.063      0.000

 TEXTUAL  WITH
    VISUAL             0.459      0.063      7.225      0.000

 SPEED    WITH
    VISUAL             0.471      0.086      5.457      0.000
    TEXTUAL            0.283      0.071      3.960      0.000

 Intercepts
    X1                 4.235      0.182     23.272      0.000
    X2                 5.179      0.219     23.669      0.000
    X3                 1.993      0.100     20.010      0.000
    X4                 2.634      0.122     21.617      0.000
    X5                 3.369      0.149     22.623      0.000
    X6                 1.998      0.100     20.027      0.000
    X7                 3.848      0.167     23.030      0.000
    X8                 5.467      0.230     23.754      0.000
    X9                 5.334      0.225     23.716      0.000

 Variances
    VISUAL             1.000      0.000    999.000    999.000
    TEXTUAL            1.000      0.000    999.000    999.000
    SPEED              1.000      0.000    999.000    999.000

 Residual Variances
    X1                 0.404      0.089      4.550      0.000
    X2                 0.821      0.053     15.438      0.000
    X3                 0.662      0.068      9.749      0.000
    X4                 0.275      0.039      7.126      0.000
    X5                 0.269      0.038      7.084      0.000
    X6                 0.298      0.039      7.546      0.000
    X7                 0.676      0.066     10.172      0.000
    X8                 0.477      0.090      5.298      0.000
    X9                 0.558      0.088      6.345      0.000

ちなみに標準化した解での共分散は当然ながら相関係数になる。

データ

データはRのlavaanパッケージに含まれるHolzingerSwineford1939を利用した。
下記の手順でデータセットが作成できる。

dataの呼び出し

library(lavaan)
data(HolzingerSwineford1939)
dat <- HolzingerSwineford1939[7:15]

Mplusへの書き出し

library(MplusAutomation)
variable.names(dat) # 変数名を書き出し
prepareMplusData(dat, filename="HS1939.dat", 
                keepCols=c("x1","x2","x3", "x4", "x5", "x6", "x7", "x8","x9"),
                overwrite=T)

The Video Game Debate2

www.routledge.com

www.routledge.com

1のモラルパニックのところ読んどこう。

amazonだと5000円以上する。Routledge安い。

今学期のおすすめ学習アプリ2020年秋

学生たちに学習アプリのおすすめを聞く授業のまとめ。
今までに登場したアプリ・ソフトウェアはこちらを参照してください。

今学期のおすすめ学習アプリ - 井出草平の研究ノート

今学期のおすすめ学習アプリ2019年春 - 井出草平の研究ノート

今学期のおすすめ学習アプリ2019年秋 - 井出草平の研究ノート

今学期のおすすめ学習アプリ2020年春 - 井出草平の研究ノート

個人的なオススメ

Evernote

「これが無かったら生活が崩壊します」と授業中に言ったEvernote

evernote.com

学習目的にも使いますが、どちらかといえば生活全般に使っています。
レシピなどもここに入れています。

新しい使い方を常に思いつくアプリですが、この数年、自分の買った服と身幅や肩幅などサイズ表を入れています。 例えば、ZOZOで買うと最近買った服の情報が出ますが、それ以外では使えないので、自分で記録しています。用途は主に通販で服を買う時に参考にするためですね。

あと、コメントの下書き、SNSへの書き込みの下書きなんかにもよく使っています。授業で感想を書くときに、どこかに下書きしたいと思ったときにはEvernoteが最適です。

リズムケア

play.google.com

昨今、運動不足になりがちなので毎日する運動を記録するために使っています。
学習にも使える気がします。

Microsoft TO DO

todo.microsoft.com

買い物リストやブログエントリ予定のものを資料と一緒に入れるのに使っています。ファイル添付ができるのが個人的にはとても便利です。
Wunderlistが買収された後は、Microsoft TO DO一択なのかなと思います。

R

今更書くのもどうかと思いますが、統計ソフトRとRStudioはほぼ毎日使っています。

www.r-project.org

Mplus

最近よく使っている統計パッケージ。

www.statmodel.com

slack

こちらも今更挙げるのもどうかと思うアプリですが、毎日使っています。 slack.com

Microsoft Word

英文を書くのにとても便利なことに最近気づきました。いまさらですが。

www.microsoft.com

Ginger

grammarlyは以前に紹介しましたが、Gingerも使っています。

www.getginger.jp

誤字脱字チェック的な側面が大きく、提案される文章が気にいることはそれほどありません。

Visual Studio Code

普段、文章やらコードを書くのはVSCode、形式はMarkdownです。

azure.microsoft.com

Atomを使う頻度が減ったのは、やはり重いからですかね。

もちろんMarkdownを使うのであれば、Markdown Preview Enhancedパッケージは必須。

shd101wyy.github.io

授業で出たアプリ・ソフトウェア

AppleのURLがややこしいのでAndroid版を貼っていきます。

世界史一問一答 (高校世界史・センター世界史)

play.google.com

現在の世界のニュースを理解する上でも、世界史を知っておくのは重要とのこと。なんて正論。

AnkiApp Flashcards

play.google.com

非常に人気の暗記アプリらしい。Quizletとの違いがまだわかっていません。

GeoGebra 空間図形

play.google.com

3次元の数学問題を簡単に解き、3次元関数と曲面をグラフ化し、3次元で幾何学的な作図をし、結果を保存して共有します。

運転免許問題集 普通車学科

play.google.com

このアプリは便利と聞いていましたが、実際に使った学生さんは試験に落ちたそうです。

世界史+地図

世界史+地図

世界史+地図

  • Yoshitaka Yanagida
  • 教育
  • 無料
apps.apple.com

f:id:iDES:20201227145110p:plain

これは確かに便利そう。iOS専用。iPadの方がよいかも。

GRAPES

tomodak.com

高等学校レベルで登場する関数によるグラフや軌跡を,マウスによる簡単な操作で描くとともに,様々な角度から調べる事ができます

いいソフトですよね。

MAU M&L 博物図譜

武蔵野美術大学 美術館・図書館の公式アプリケーション

MAU M&L 博物図譜

MAU M&L 博物図譜

  • Musashino Art University
  • 教育
  • 無料
apps.apple.com

isuta.jp

Androidはapkからのインストールが必要な模様。iPad向きのコンテンツな気がします。

MAU M&L 近代椅子コレクション ムサビのイス3D

apps.apple.com

ムサビすごいな、の一言。

ポリグロッツ

www.polyglots.net

Desmosグラフ計算機

play.google.com

GeoGebra

www.geogebra.org

LINNÉ LENS

lens.linne.ai

「友達に向けるとホモサピエンスとでました」ということでした。『ブレードランナー』のような世界が来るのでしょうか。

ID番号のないデータフレームにID列を作る方法[R]

IDの列を作る

仮想データフレームを作成。

d <- data.frame(V1=c(23, 45, 56), V2=c(45, 45, 67))

結果。

  V1 V2
1 23 45
2 45 45
3 56 67

ID列の挿入。

d$ID <- 1:nrow(d)

結果。

  V1 V2 ID
1 23 45  1
2 45 45  2
3 56 67  3

こちらで紹介されていたやり方。パッケージも不要で賢い方法だと思う。

stackoverflow.com

SPSSからの読み込みデータにIDを振る

気の利いていないデータの場合ID列を作っていない場合が多々ある。今、このエントリを書いている理由もこれである。
作っておけよ!と思うがないものは仕方ない。
SPSS形式のデータをRで読み込むにはforeignhavenの2つの方法がある。

library(foreign)
d <- read.spss("xxx.sav", to.data.frame=TRUE)
d$ID <- 1:nrow(d)

これはどうも失敗する。

library(haven)
d <- read_sav("xxx.sav")
d$ID <- 1:nrow(d)

こちらは成功する。havenパッケージを使うのが吉のようだ。その他のことを考えてもhavenパッケージの方がだいたい優れている。

本筋とは関係ないが、エンコードには気を付けること。Shift-JISで作成されているファイルにはencoding ="cp932"を忘れないように。

ides.hatenablog.com

小林信重『デジタルゲーム研究入門:レポート作成から論文執筆まで』

ミネルヴァ書房の新刊教科書案内で知る。調査法というのが気になる。

ミネルヴァだったら2刷ないんじゃないの!?

というか、ミネルヴァは2刷刷ってくれよ。コンラッド=シュナイダーの『逸脱と医療化』は中古で¥19,800になってしまっている。研究者はミネルヴァで出版しちゃしけないってみんな言ってる。自分の本が店頭から消えてしまうのは悲しいからね。
2刷なんて時代遅れだから電子化をしてほしい。紙面を画像にしただけのやつでもいい。読めれば何でもいい。切に願う。