タグ

ブックマーク / norimune.net (18)

  • リッカート式尺度は何を測っていて、なぜ尺度平均値を使うのか | Sunny side up!

    心理学以外の研究者や、学部生によく聞かれる質問に、「心理学ではリッカート尺度を使った研究が多いが、あれは大丈夫なのか」というのがある。大丈夫って何よ。 いや、言いたいことはわかる。自己評定式の質問紙調査でリッカート尺度を使った測定って、何を測っているのか、ちゃんと測れてるのか、得点化はそれで大丈夫なのか、などなど疑問はたくさん出てくる。 人間の適応力はすごいもので、2年生で上の疑問を持っていても、4年生にもなると「尺度、大丈夫」ってなっちゃう。でも逆に、尺度をあまり使わない分野の博士課程ぐらいの院生とかも「尺度使った研究ってやばいよね」とかいっちゃう。なにがやばいのだろう。 というわけで、何がやばいのか考えてみたいのだけど、実は多くの人が心配するようなところや疑問に思うところは、それなりに理屈があったりもするので、まずはそこを擁護しつつ、批判的にリッカート尺度を使った研究について考えてみた

  • 従来の推定法とベイズ推定法の違い | Sunny side up!

    ベイズ推定って、最近はやってきてますね。僕も流行りにおいて行かれないように勉強しています。 理論的な話や数学的な話はいろいろWebやをあされば出てきますが、実用面とか解釈面について言及しているものは少ないですね。 今回は清水の個人的な意見として、ベイズがどういう風に使えそうか書いてみます。数学的な話はなしで。よくわからないので。 興味ある人は続きをどうぞ。 2016/2/1追記:ベイズ統計について,入門的な資料を作りました。心理学者のためのベイズ統計入門もあわせてどうぞ。 ベイズ推定法の前に、従来法の代表として最尤推定法について触れておきます。 その方法とベイズがどう違うのかについて、そのあと述べます。 最尤推定法 最尤法ともいわれますが、基的な発想は、モデルとデータの関係を次のように考えます。 真のモデルというのがあって、我々はそのモデルから発生したデータを手に入れている。真値は一つ

  • Stanでpolychoric相関係数を推定する | Sunny side up!

    この記事はStan Advent Calendar2017の5日目の記事です。 今回は,Stanでポリコリック相関係数を推定するという内容です。 ポリコリック相関係数とは ポリコリック相関係数は,順序性があるカテゴリカルデータ同士の相関係数の一種です。順序性のあるカテゴリカル・データのための相関係数といえばスピアマンの順位相関とか,ケンドールの順位相関がありますが,ポリコリック相関係数はパラメトリックな方法なので確率モデルを定義して,ベイズ推定も可能です。 ポリコリック相関係数については以前書いた記事があるのでそちらを見てもらえると早いです。 簡単に言えば,順序データの背後に連続的な変数があると想定します。得られたデータは来は連続的な値をとる性質をもつ変数なんだけど,データとしてはカテゴリカルになってしまった,とかそういう想定です。で,背後にある真の連続値同士の相関を推定しましょう,とい

    Aobei
    Aobei 2020/03/27
    ポリコリック相関
  • カテゴリカルデータの相関係数 | Sunny side up!

    この記事では,カテゴリカル・データの相関係数である,ポリコリック相関係数について書きます。 カテゴリカルデータの相関係数 心理尺度でデータを測定した場合、5件法や7件法によるリッカート法を使うことが多いと思います。 リッカート法とは、ある質問について、当てはまる程度を1.まったく当てはまらない~5.非常に当てはまる、といった感じで5段階(場合によっては3段階や7段階など)で評定を求める方法です。 このようなリッカート法を使ってデータを収集する場合、得られた値を「間隔尺度」として扱って分析することがほとんどです。これはもちろん、間隔尺度のほうが扱える分析法が圧倒的に多いので、便利だからです。 しかし、心理学者の中でも、リッカート尺度は来「順序尺度」なので、間隔尺度として扱うことに限界を感じている研究者も多いです。その理由としては、 値に与えられているラベル(まったく当てはまらない、など)間

    Aobei
    Aobei 2020/03/27
    ポリコリック、テトラコリックなど質的データの相関
  • Stanを使ってNUTSを実装する | Sunny side up!

    この記事は、Stan advent calendar 2018の7日目の記事です。 Stan、すばらしいソフトですね。今日はStanがいかに素晴らしいかを語る記事です。StanにはNUTSというアルゴリズムが搭載されいているのはご存知だと思いますが、今回の記事は、 Stanを使ってRにNUTSを実装する という話です。「ちょっと何言ってるかわかんない」、とか言わない。 さて、NUTSはマルコフ連鎖モンテカルロ法(MCMC)の手法の一つ、ハミルトニアンモンテカルロ法(HMC)を発展させたものだ、というのは聞いた人も多いと思います。そこで、MCMCやHMCについて簡単に説明したあと、Stanが搭載しているアルゴリズムについて解説していきます。 なお、数式とかは使わず、全部日語で説明していきます。数式で詳しいものはいくらでもあるので、そちらをご参考ください。たとえばこちら。 ◆マルコフ連鎖モン

    Aobei
    Aobei 2019/03/21
    ]HMCをより理解するために。
  • Stanでガウス過程 | Sunny side up!

    dat <- read.csv("gp_test.csv") N1 <- nrow(dat) x1 <- dat$x y1 <- dat$y N2 <- 59 x2 <- seq(1, 30, length.out = N2) data.gp <- list( N1 = N1, N2 = N2, x1 = x1, x2 = x2, y1 = y1 ) model.gp <- stan_model("GP_reg.stan") fit.gp <- sampling( model.gp, data = data.gp, iter = 5000, chains = 4, cores = 4 ) print(fit.gp, pars = "y2") print(fit.gp, pars = "theta") # plot ext.fit <- rstan::extract(fit.gp) y2.m

  • 階層ベイズと自由エネルギー | Sunny side up!

    先日、広島ベイズ塾の春合宿がありました。 そこで発表した、「階層ベイズと自由エネルギー」の資料をアップしました。 自由エネルギーというのは、負の対数周辺尤度のことで、ベイズファクターの計算で使う周辺尤度を対数とって‐1をかけたものです。 スライド内容を要約すると、 1.モデル評価には2種類ある。AICとBICは見てるところが違うよ。 2.階層ベイズではWAICはどういう予測をするかで値が変わるが、自由エネルギーは変わらないよ。 3.心理学では自由エネルギーのほうが知りたい値かもしれないね。 の3点です。 2年ぐらい前に、HijiyamaRで階層ベイズとWAICについて発表したものがありますが、それの続きになります。 ただ、内容的には松浦健太郎さんのブログ記事、「階層ベイズモデルとWAIC」のほうが断然わかりやすいので、こちらを先に見てもらったほうがいいかもしれません。一応、上のスライドだけ

  • 展開型項目反応理論をStanで推定する | Sunny side up!

    Stanの記事ばっかりですみません。Stan好きなんです。 さて、最近研究で項目反応理論を使っているので、そのあたりのモデルばっかりやってるんですが、今回はあまり知られていない展開型項目反応理論について紹介します。 累積型と展開型 項目反応理論はこちらの記事で少し触れているので、そっちを見てもらえればいいのですが、学力を推定するための統計モデルです。テストにおける正解・不正解という2値の反応に対して、潜在的な変数である学力が影響すると考えます。例えば下の図のように、学力が高くなると正答率が高くなる、という関係をロジスティックカーブで表現したりします。 項目反応理論では一般に、潜在変数である学力が高くなるほど、問題への正答率が高くなると考えます。つまり、項目反応関数は単調増加であると仮定するわけです。 学力と正答率の関係に単調増加を仮定するのは自然だと思うのですが、好き―嫌いのような評価だっ

    Aobei
    Aobei 2017/05/21
  • 項目反応理論をStanで実行するときのあれこれ | Sunny side up!

    ひさしぶりのブログ記事です。 今回は、項目反応理論をStanで実行するときに知ってると便利なことをまとめておきたいと思います。 項目反応理論とは、テストについての計量モデルで、問題に対する正解・不正解のデータから、問題の特性や、回答者の学力を推定するためのモデルです。心理測定学(Psychometrics)において中心的といえば大袈裟かもしれませんが、それぐらい重要なテーマです。 項目反応理論については、小杉先生の資料が参考になります。そちらをどうぞ。なお、これから項目反応理論をIRT(Item Response Theory)と表記します。 2パラメータのIRT IRTでは、ある問題に正解する確率をロジスティック曲線を用いてモデリングします。この曲線を項目反応関数といいます。代表的なモデルでは、項目反応関数のパラメータとして識別力と困難度の2つを用いて表現します。識別力は項目反応関数の傾

    Aobei
    Aobei 2017/05/05
  • rstan2.10.1が動かない! | Sunny side up!

    Stan楽しんでますか。 僕も楽しもうと思ってrstan2.10.1を入れたんですが,動かない・・・ 山大の小杉さんのブログを見ていて,「Winヤバイんだろうな・・・大丈夫かな・・・」と思っていたら,案の定ハマりました。今はだいたい見当つきましたが,根的な原因はよくわかりません。対処法だけお伝えしておきます。 まず,Rのバージョンによってもどうも反応が違うのと,Windowsの設定によっても多分違います。なのでこういうエラーが出たらこうする,という対処しかかけません。PCそれほど強くなくて・・・ この記事の前提 ・Windows7,64bit ・rstan2.10.1がインストールできている RとRtoolsのバージョン Rは2016年7月18日現在,3.3.1が最新です。これに対応するRtoolsのバージョンは34ですが,rstanは34に上手く対応してません。一応エラー回避策もあるよ

    Aobei
    Aobei 2016/07/18
  • 一般化正規分布をStanで定義してMCMCしてみる | Sunny side up!

    誰得なのかよくわからない記事を書きます。※最後に追記あります 独立成分分析を調べていたら,ラプラス分布と正規分布の両方を含んだ「一般化正規分布」というのが出てきたので,調べてみました。 一般化正規分布は,平均μと,尺度パラメータα,形状パラメータβの3つのパラメータがあります。この分布の特徴は,左右対称の分布で,尖度を形状パラメータβで変えることができるというのが特徴です。βが1のときはラプラス分布,βが2のときは正規分布,βが∞のときはμ-αとμ+αの範囲の一様分布となります。 ついでに,ラプラス分布というのは,平均値あたりがすごいとんがっている分布です。 一般化正規分布。楽しそうですね。 しかし,Stanにこの分布は入っていません。なので前の記事の方法を使って,StanでMCMCできるようにしてみました。 まず,一般化正規分布の確率密度関数は次のようになります。 Γ()はガンマ関数です

    Aobei
    Aobei 2016/06/03
  • Stanで確率分布を自分で定義して使う | Sunny side up!

    Twitterで質問があったので,書いておきます。 Stanでは,functions{}ブロックでユーザーが関数を定義できます。 普通の関数は,Rと同じように作ればいいのでそれほど難しくはないというか,違和感はないと思いますが,Stanではサンプリングのための関数も定義できて,それでMCMCもできてしまいます。 以下では,自分で正規分布の式を書いて定義したnormal2という確率分布の関数を作って,それでMCMCをする,ということをやってみます。 まず,普通にStanに最初から入ってる正規分布を使って平均と標準偏差を推定するコードを書いておきます。これをnormal1.stanという名前で保存します。 data{ int N; //サンプルサイズ real y[N]; //データ } parameters{ real mu; //平均値 real<lower=0> sigma; //標準偏

    Aobei
    Aobei 2016/05/31
  • Stan超初心者入門 | Sunny side up!

    先日関学で行われた,Harukara.Rで行われた,Stan超初心者講習会のスライドをスライドシェアにアップしました。 プログラミングを知らない人向けに書いているので,その辺りがわかっている人からすると,やや遠回りな説明をしている部分もあります。 僕が心理学者なのもあって,扱ってるモデルは心理統計的なものから始めています。二項分布,正規分布,平均値の差の推論,相関係数,回帰分析,ロジスティック回帰分析,階層線形モデルまでです。 【追記:20160517】一部間違いを変更しました。あと,階層線形モデルは少し内容が難しい上に,今回の内容は中途半端だったので中級編でちゃんと扱うことにしました。 また,スライドで使われているstanコードはここからすべてダウンロード可能です。ただ,最初はスライドのコードを自分で書きながら練習するほうが,身につくかもしれません。

    Aobei
    Aobei 2016/05/17
  • 心理学者のための統計モデリング,GLMM,階層ベイズ | Sunny side up!

    先日,北海道大学で講演した,統計モデリング,GLMM,階層ベイズについてのスライドをスライドシェアにアップしました。 二日にわたる講演だったので,スライドも二つに分けています。 前半が,統計モデリングや一般化線形モデルについての話です。 後半は変量効果,階層線形モデル,GLMM,階層ベイズについての話です。 なお,ベイズ統計については別のスライドが詳しいです。 心理学者のためのベイズ統計入門をご覧ください。

  • GLMM(一般化線形混合モデル)をSASで実行する方法1 | Sunny side up!

    3月25日に社会心理学会で「第2回春の方法論セミナー:GLMMが切り開く新たな統計の世界」が上智大学で開催されます。 第2回春の方法論セミナーのWebページ(社会心理学会Webサイト内) セミナーでは,一般化線形混合モデル(GLMM)について,どういう方法で,社会心理学でどのように活用できるのかについて解説される予定です。 しかし,セミナーでは,具体的にどうやってGLMMを実行するか,どのソフトウェアが対応しているのか,などについては話をしません。 そこでこの記事では,SAS無償版でGLMMを実行する方法についてまとめておきます。 ◆SAS無償版 昨年に,SASは個人利用を目的とした無償版を提供しています。基的にはSASの学習用のものですが,SASのすべての機能が利用可能です。 もし手元にGLMMを使った方がいいデータをお持ちの人は,無償ですから,是非一度試してみてください。 無償版SA

    Aobei
    Aobei 2015/03/24
    SAS
  • Rで因子分析 商用ソフトではできないあれこれ | Sunny side up!

    先日,比治山大学で行われたHijiyama.Rで発表したスライドを,スライドシェアにアップしました。 内容は,タイトルの通り,Rのpsychパッケージで因子分析をするための方法についてまとめています。特に,SPSSなどの商用ソフトではできない,きめ細やかな分析法について触れています。 また,以下にスライドで使っているRコードをまとめて書いておきます。 library(psych) library(GPArotation) data(bfi) dat <- bfi[1:25] #MAPや情報量規準を推定できる summary(VSS(dat,n=10,use="complete.obs")) #平行分析のコード fa.parallel(cor(dat, use="na.or.complete"), n.obs = 2436, n.iter = 50) #リストワイズ削除したデータのサンプルサ

    Aobei
    Aobei 2014/12/04
    因子分析
  • カテゴリカル因子分析について その2 | Sunny side up!

    前回の記事で、「カテゴリカル因子分析について」を書きました。 今回は、それへの追記です。 内容は、 1.Rでも多次元のカテゴリカル因子分析を実行するパッケージがあったので、それを紹介 2.Mplusで探索的因子分析を使ってカテゴリカル因子分析をする方法 興味ある人は続きをどうぞ ◆Rのmirtパッケージ 前回の記事では、Rでは多次元IRTを実行するパッケージは知らない、と書いてましたが、 先輩がTwitterでつぶやいていたので、知りました。 それは、mirtパッケージで(mirtは全部小文字)、詳しい説明はパッケージのペーパーに書いてますので、こちらも参照してみてください。 なお、mirtパッケージはR2.14以上のバージョンじゃないとインストールできません。古いバージョンを使っている人は先にRを更新する必要があります。 ここでは、一番簡単な関数のmirt()関数について紹介します。 m

    Aobei
    Aobei 2014/11/26
  • 欠損値があるデータの分析 | Sunny side up!

    HAD11.3から,欠損値のあるデータを分析できるようになりました。 この記事では,欠損値の処理と,その推定方法について簡単に書きます。ただ,この記事は数式とかそういう話はないので,詳しいことを知りたい方は村山航さんの記事(PDFが開きます)や,広大の徳岡君の資料などを参考にしてみてください。これらはとてもよくまとまっていて,わかりやすいです。 欠損値の3つのタイプ 欠損値が生じる要因として,大きく分けて3つが考えられています(細かく言えばもっとある)。 データが,完全にランダムに欠損する データが,測定されている値に依存して欠損する(欠損データとは無関係) データが,欠損データに依存して欠損する 違いがちょっと分かりにくいですね。具体的に説明しましょう。 まず,データが完全にランダムに欠損するとは,データに反応しないのが,「たまたま」ということです。データになんにも依存していなくて,ほん

  • 1