井出草平の研究ノート

抗精神病薬が認知症患者の健康リスクを高めるという研究結果

www.news-medical.net

認知症管理における抗精神病薬の役割

認知症と診断された患者は、機能障害と進行性の認知機能低下を経験する。認知症の一般的な心理的・行動的症状には、不安、抑うつ、無気力、攻撃性、せん妄、いらいら、精神病などがある。

認知症心理的および行動的症状を管理するために、患者は一般的に抗精神病薬で治療される。英国国立医療技術評価機構(National Institute for Health and Care Excellence)は現在、抗精神病薬の使用を非薬物療法認知症の行動・心理症状の緩和に効果がない場合にのみ推奨している。しかし、最近のコロナウイルス感染症2019(COVID-19)のパンデミックの際には抗精神病薬の使用が増加しており、その原因は封鎖措置と医薬品以外の治療法が利用できなかったことにあるとされている。

英国では、リスペリドンとハロペリドール認知症の行動・心理症状の治療薬として承認されている唯一の抗精神病薬である。2003年、米国食品医薬品局(FDA)は、認知症高齢者に対するリスペリドンの使用に伴う脳卒中、一過性脳虚血発作、死亡率などのリスクを強調した。

複数の研究報告に基づき、英国、米国、欧州では、認知症の行動・心理症状の治療に対する抗精神病薬の不適切な処方を減らすための規制ガイドラインが策定されている。現在までのところ、認知症高齢者の抗精神病薬処方と心筋梗塞静脈血栓塞栓症心室不整脈、急性腎障害など複数の疾患のリスクとの関連性を示すエビデンスはほとんど得られていない。

本研究について

本研究では、成人の認知症患者を対象とした大規模コホートにおいて、抗精神病薬投与に関連した有害転帰のリスクを検討した。本研究で検討された有害転帰は、静脈血栓塞栓症脳卒中心不全心室不整脈、骨折、心筋梗塞、肺炎、急性腎障害などである。

英国人口の98%以上が国民保健サービス(NHS)のプライマリケア一般診療所に登録されている。すべての関連データは、2,000以上の一般診療所に関連するClinical Practice Research Datalink(CPRD)の電子カルテから収集された。CPRDはAurumデータベースとGOLDデータベースから構成されており、これらは英国人口を広く代表するものと考えられる。

50歳以上で認知症と診断された人を対象とした。重要なことは、診断の1年前に抗精神病薬による治療を受けていた研究参加者はいなかったことである。

研究者らはマッチドコホートデザインを利用し、最初の認知症診断後に抗精神病薬を使用した各患者を発生密度サンプリング法でマッチさせた。この方法では、同じ日に認知症と診断されたが抗精神病薬を処方されていない患者を無作為に15人まで抽出した。

抗精神病薬認知症患者の副作用リスクを増加させる 2つのコホート全体の参加者の平均年齢は82.1歳であった。研究期間中に抗精神病薬が処方された参加者は35,339人であった。

認知症と診断されてから抗精神病薬が処方されるまでの平均日数は、Aurum群で693.8日、GOLD群で576.6日であった。最も多く処方された抗精神病薬はリスペリドン、ハロペリドール、オランザピン、クエチアピンであった。

今回の集団ベースの研究から、抗精神病薬を処方されている成人の認知症患者は、非使用者に比べて静脈血栓塞栓症心筋梗塞脳卒中心不全、肺炎、骨折、急性腎障害のリスクが高いことが明らかになった。この観察は、両データベースから選択された173,910人の認知症成人の解析に基づいている。

有害転帰のリスク増加は、抗精神病薬の現在および最近の使用者に最も多くみられた。抗精神病薬使用90日後では、静脈血栓塞栓症、肺炎、急性腎障害、脳卒中のリスクが非使用者より高かった。しかし、抗精神病薬心室不整脈虫垂炎、胆嚢炎のリスクには影響を及ぼさなかった。

リスペリドンの使用と比較すると、ハロペリドールは肺炎、骨折、急性腎障害のリスク上昇と有意に関連していた。ハロペリドールの副作用はクエチアピンより高かったが、骨折、心不全心筋梗塞のリスクについてはリスペリドンとクエチアピンの間に有意差は認められなかった。肺炎、脳卒中、急性腎障害、静脈血栓塞栓症のリスクは、リスペリドンと比較してクエチアピンの方が低かった。

結論

本研究は、抗精神病薬認知症高齢者にどのような影響を与えるかを明らかにした。これらの薬剤の使用は、脳卒中、急性腎障害、肺炎、静脈血栓塞栓症心不全心筋梗塞などの多くの重篤な有害転帰と関連していた。

今後、高齢者の認知症治療における抗精神病薬の使用について規制上の決定を下す際には、脳血管障害や死亡率とともにこれらのリスクを考慮しなければならない。

  • Mok, L. H. P., Carr, M. J., Guthrie, B., et al. (2024) Multiple adverse outcomes associated with antipsychotic use in people with dementia: population based matched cohort study. BMJ. doi:10.1136/bmj.2023.076268

「白い錠剤で意識失い」「撮影直前まで暴行」元人気女優が告白「若い私を待ち受けていた“悪しき芸能界”」

smart-flash.jp

 恐ろしかったのは、1990年代前半にVシネマで大人気だった俳優Yさんです。いつも睡眠薬を飲んでいるそうで、ある撮影所でお会いした際『よく眠れてる? 眠れないならおすすめの薬があるよ』と声をかけられました。一度断わったのに、その後、私の泊まっているホテルの部屋にまで突然やってきて『これ飲みなよ』と、Yさんから白い錠剤を渡されたんです。断わりきれずに缶チューハイとともに飲むと、意識を失いました。気がつけば、ベッドの上でYさんが馬乗りになっていて……。

ハルシオンサイレースかな。

ブルデュー『ディスタンクシオン』輪読会第80夜 覚書

旧版P314から。

要約

政治空間について、クラスの異なる集団が相対的にどのように分布しているかを仮設的に図式化し、体系化する段階に至っている。この政治空間はクラスやクラスの分断が資本の量と構造によってどのように分配されるかの系統的な歪みとして現れる。政治空間での「左側」に位置する集団は下方へ、右側に位置する集団は上方へ引かれる傾向にある。これは資本の全体的な量と資本構造の対立が重なる効果によるものである。クラスの分断や「ブランド」に割り当てられた位置は、該当する人口や顧客層がどの程度広がっているかを示す中心点に過ぎない。実際にその「社会的表面」は指名された人口の量や社会的分散に大きく依存し、顧客層の増加は限られた空間への更なる浸透やカバーする空間の拡大のどちらによっても生じる可能性がある。

移動の雇用効果

要約

政治的選択が社会クラスによって大きく左右され、それが単に同時的に定義される資本の量や構造によるものではないことを明らかにするためには、適切なカテゴリを構築する必要がある。特に、各社会的地位の時間的特性や、特定のクラスまたはクラスの分断が政治的ブランドや製品をどのように理解し意味付けるかを記述し理解する手段を用いることが重要である。しかし、フランスで利用可能な調査データは、職業や親の政治的意見を通じての軌跡や教育の影響を把握し隔離することができないのが残念である。さらに、名目上同一の意見が実際には比較できないほど異なる、または互換性がない理由を明らかにするための手段も提供していない。選挙の論理が芸術家、教授、教師、職員、労働者、鉱夫の共産党投票の違いを無視するからといって、科学も同じように無視するべきではない。科学的な説明を導き出すためには、名目上の投票の一致の下に隠された共産党への異なる投票の意味を明らかにし、共産主義者としての実際に異なる態度や言明を発見する必要がある。これは、選挙の論理が意図や期待において異なる意見を同一として扱う政治的に重要な事実を考慮に入れつつ行うべきである。

本質的な社会的位置の違いを理解するためには、資本の量や構造だけでなく、その属性の時間的進化、すなわちグループ全体の社会的軌跡や個人とその家系の軌跡を考慮する必要がある。これは、客観的に占められた位置の主観的表現の根源である。政治的選択の決定的な特徴は、他のどの選択よりも、特に慣習の深く不透明な選択よりも、社会的世界や自らが占める位置、また「占めるべき」位置についてのより明示的かつ体系的な表象に介入する点にある。政治的言説は、存在する場合、その表象のより抑制され、普遍化された表現に過ぎず、それを持つ者自身にさえ認識されないことが多い。実際に占められた位置と政治的立場の間には位置の表象が介在し、これは位置によって決定されるが(完全に、つまり時間的にも定義される場合)、外部の観察者が推測する立場とは異なることがある(これを「誤った意識」と呼ぶこともある)。個人や集団の軌跡の傾向が、社会的位置の認識やその位置に対する魅力あるいは幻滅的な関係を介して、位置と政治的立場の間の関係を確立する主な仲介者である。個々の人々や集団が未来、新しさ、動き、革新、進歩に向けてどれだけ傾いているか、そして一般に社会的・政治的楽観主義に傾いているか、それとも過去に向かって社会的不満や保守主義に走るかは、彼らの集団的軌跡、過去と潜在的なものによって、すなわち先祖の属性をどの程度再現できたか、そしてその属性を子孫に再現できる(または再現できると感じる)度合いに依存している。

ハビトゥスの深い選択

ハビトゥスに関連する選択が「他のどの選択よりも、特に慣習の深く不透明な選択よりも」と表現されている。これは、ハビトゥス(慣習や無意識の傾向といった社会的に獲得された行動様式)が個人の選択に深く影響を及ぼし、しばしばその意識的な認識を超えた形で行動や意思決定に影響を与えることを指している。つまり、政治的選択は、ハビトゥスのような深く、しばしば意識されない社会的条件や影響よりも、より明示的かつ体系的な社会的世界の表象に基づいて行われると説明されている。

集団軌道:la trajectoire individuelle et surtout collective

ブルデューの用語で、他の学者の援用や引用ではないらしい。

要約

階級または階級の一部が衰退し、過去に向かっている場合、その条件と位置のすべての属性を再生産することができなくなり、全体的な資本を再生産し社会的空間での位置(家族の起源の位置や現在の位置)を維持するためには、最も若いメンバーが大きな割合で少なくとも資本の再転換を行い、これが社会的空間での水平的移動を伴う条件の変化となる。言い換えれば、階級の位置の再生産が不可能になる(階級の下降)、または階級の一部の変更によってのみ達成される(再転換)場合である。この場合、社会的代理人の社会的生成モードの変化が異なる世代の出現を決定し、これらの対立は一般に世代間の対立として記述されるものには還元されず、経済的資本または文化的資本の優勢な遺産に関連した価値観と生活様式の間の対立が原因となる。

おそらくこの写真は、薬局・薬剤師。薬剤師はその典型かもしれない。

要約

ある分野の構造的歴史(社会階級の分野であれ、他の任意の分野であれ)は、その分野に関わる行為者の伝記を時代別に分類する。それにより、各行為者の個別の歴史が彼が属するグループの歴史を内包する。したがって、特定の分野の具体的な歴史を知ることに基づいてのみ、単なる任意の年齢クラスとは対照的に、人口の中から世代を区切ることが可能である。実際、その分野に影響を与える構造的変化のみが、世代の異なる生産を決定する力を持ち、世代のモードを変容させ、個々の伝記の組織とこれらの伝記を同じリズムで調整された伝記クラスに集約する役割を果たす。大きな歴史的イベント(革命や政権変更など)は、しばしば文化生産の分野で時代区分の目印として利用されるが、異なる分野を一時的に同期させ、一瞬のうちに各分野の比較的独立した歴史を共通の歴史に混同する効果がある。しかし、これらの出来事はしばしば人工的な区切りを導入し、各分野特有の非連続性の追求を妨げる。

解説

ある分野の構造的歴史とは、その分野に関与する行為者たちの生涯を特定の時期ごとに区分けすることを意味する。このプロセスを通じて、個々の行為者の個人的な歴史は、彼または彼女が属するグループの歴史と結びつけられる。つまり、行為者一人一人の経歴が、そのグループ全体の歴史を反映していると考えられる。
具体的にその分野の歴史を理解していないと、単に年齢で区分けされる「年齢クラス」とは異なり、実際の「世代」として人口を分類することは難しい。世代とは、同じ時期に生まれた人々が共有する経験や価値観に基づいて形成されるもので、これにはその時代の社会的、文化的な変動が大きく影響している。
構造的変化、つまりその分野の基本的な変わり目が、新しい世代を形成する力を持っている。これらの変化は、行為者たちの生き方や世界観を変え、彼らの人生の物語が同じリズムやテンポで進行するように調整される。このような変化を通じて、新しい世代が生まれるわけだ。
また、大きな歴史的イベント(例えば革命や政権の変更など)はしばしば、文化や社会の分野を一時的に同期させるが、これらの出来事は時として人工的な区切りを設け、それぞれの分野に固有の連続性を見逃させることがある。つまり、大きな出来事が一つの大きなストーリーとして語られがちだが、それぞれの分野でどのような影響を与えたかを見極めることが重要である。この視点から、歴史や世代の研究を深めることが、より正確な理解につながる。

要約

支配階級の一部で自己の再生産が保証されているような階層の自由保守主義は、集団の将来が脅威にさらされている階級の反動的な態度と対立する。これらの階級は、過去を基準にしてのみ自らの価値を保持でき、時代遅れの階級構造に基づく価値体系、すなわち価値の決定の論理に依存している。

解説

支配階級の中でも、自分たちの地位が安定しており、簡単に次世代に引き継がれると考えられているグループは、自由保守主義の立場を取ることが多い。これに対して、将来が不安定で脅威にさらされている階級のグループは、反動的な態度を示すことがある。つまり、彼らは自分たちの価値を守るために、過去の価値観や時代遅れの階級構造を基準にして行動し、その昔の論理に依存している。

要約

同様の位置にいる個人でも、社会的出自や社会的軌道によって意見が異なることが確かであるが、社会的位置が明確でなく、その結果としてあらゆる点で大きな分散を余儀なくされている集団の場合には、個々の軌道の効果が特に顕著であるが、これは階級特有の効果の範囲内で発生する。そのため、同じ階級のメンバーの倫理的・政治的態度は、階級全体を特徴づける基本的な態度の変形形として現れる。

また、プチブルの社会的美徳の原理でもある「obsequium」(確立された秩序への深い承認)は、文化財や家庭用品、家具、衣類、レジャー用品など、支配的な生活様式を形成する商品やサービスを販売する際に、支配的な倫理的または美的価値を認めることを意味する場合に特に適している。これは、自己の価値の確信を売り物にする倫理的なスノビズム、模範的な特異性の主張であり、他のすべての生き方や行動を非難する。この態度は、善意が企業の条件であり、良心がその報酬である組み合わせを必要とするため、特に人気がある。これは、庶民階級を最新のブルジョワ社交界の礼儀、流行、道徳に引き入れ、過去の他の時代に他の人々がその放縦と抑えられない過剰を抑制するために投資していたのと同じ憤りを持って彼らの「抑制的」な態度を抑える際に発揮される。

解説 「obsequium」(確立された秩序への深い承認)

プチブルが支配階級によって確立された社会的秩序や価値観を深く承認し、それを積極的に受け入れ、支持する態度を指す。この概念は、プチブルが社会的な地位を向上させようとする過程で、より上の階級の様式や価値観を模倣しようとする傾向を表している。
ブルデューの理論では、各階級は特有の「ハビトゥス」を持ち、それが個人の嗜好、価値観、行動様式を形成する。プチブルハビトゥスは、しばしば上昇志向が強く、社会的に「正しい」とされる行動や消費を通じて自己の地位を向上させようとする特性を持つ。そのため、既存の社会的秩序や価値観を内面化し、それに従うことで、自分たちの社会的位置を安定させようとする。
「obsequium」は、このようなプチブル心理的・文化的動機を端的に示すものであり、確立された秩序への忠誠や、それに基づく行動が社会的な成功や承認へとつながると信じる姿勢を反映している。この態度は、特に社会的地位の向上を望むプチブルに顕著で、彼らが支配階級の価値観や文化的標準を受け入れ、自らの行動や消費の選択を通じてそれを体現しようとする様子が見られる。

解説 倫理的なスノビズム、模範的な特異性

自己の社会的価値や道徳的優越性を他者に誇示し、その優越性を通じて自身の特別さや独自性を際立たせる態度を指す。この行動は、特定の社会階級やグループ内で顕著に見られ、彼らは自分たちの行動や選択が一般的な規範や期待を超えていると考え、それを社会的なステータスの象徴として他者に示そうとする。
例えば、ある人が高価なオーガニック食品を購入し、その消費を通じて環境への配慮や健康への意識の高さをアピールする場合、これは倫理的なスノビズムの一形態となる。その人は、単に健康的な選択をしているだけでなく、その行動によって「倫理的に優れている」という自己のイメージを構築し、他者と区別をつけようとする。このような態度は、自己の価値観を売り物にし、他のライフスタイルや選択を劣ったものとして否定することで、自身の社会的位置を確立しようとする行為である。

東京都多摩市で消耗した例

重回帰分析[ベイズ]

CPS1985データを使い、wageを従属変数、genderとageと独立変数とした重回帰分析を行う。 RStudioでの実行。R.4.3.3+Stools4.3を使用。

data {
  int<lower=0> N;                 // サンプルサイズ
  int<lower=0, upper=1> X_1[N];   // 独立変数(性別、0: 男性、1: 女性)
  vector[N] X_2;                  // 独立変数: 年齢
  vector[N] Y;                    // 従属変数(賃金)
}

parameters {
  real alpha;                     // 切片
  real beta_gender;               // 性別の影響
  real beta_age;                  // 年齢の影響
  real<lower=0> sigma;            // 誤差項の標準偏差
}

model {
  vector[N] gender_effect = to_vector(X_1); // 性別が1の場合は1、それ以外(つまり0)は0

  Y ~ normal(alpha + beta_gender * gender_effect + beta_age * X_2, sigma);
}
library(rstan)
library(AER)

# データの準備
N <- nrow(CPS1985)
Y <- CPS1985$wage
X_1 <- ifelse(CPS1985$gender == "male", 0, 1)
X_2 <- CPS1985$age

# データをリストにまとめる
stan_data <- list(N = N, Y = Y, X_1 = X_1, X_2 = X_2)

# Stanモデルのフィット
fit <- sampling(stan_model, data = stan_data, iter = 2000, chains = 4, seed=1234)

# 結果の出力
print(fit)
Inference for Stan model: anon_model.
4 chains, each with iter=2000; warmup=1000; thin=1; 
post-warmup draws per chain=1000, total post-warmup draws=4000.

                mean se_mean   sd     2.5%      25%      50%      75%    97.5% n_eff Rhat
alpha           6.92    0.02 0.71     5.50     6.44     6.92     7.38     8.33  2068    1
beta_gender    -2.29    0.01 0.44    -3.16    -2.59    -2.30    -1.99    -1.41  2818    1
beta_age        0.09    0.00 0.02     0.05     0.07     0.09     0.10     0.12  2050    1
sigma           4.95    0.00 0.16     4.66     4.84     4.95     5.06     5.27  3265    1
lp__        -1118.87    0.04 1.48 -1122.47 -1119.61 -1118.52 -1117.76 -1117.06  1524    1

Samples were drawn using NUTS(diag_e) at Thu Apr 18 02:40:46 2024.
For each parameter, n_eff is a crude measure of effective sample size,
and Rhat is the potential scale reduction factor on split chains (at 
convergence, Rhat=1)
bayesplot::mcmc_trace(as.array(fit), pars = c("alpha", "beta_gender", "beta_age", "sigma"))

bayesplot::mcmc_pairs(
  as.array(fit),
  pars = c("alpha", "beta_gender", "beta_age", "sigma"),
  off_diag_args = list(size = 0.5)  # オフダイアゴナルのプロットの点の大きさ
  )

事後予測チェック

library(bayesplot)
posterior_samples <- extract(fit)

# 予測値の生成
num_draws <- length(posterior_samples$alpha)  # 事後サンプルの数
predicted_Y <- matrix(NA, nrow = num_draws, ncol = N)  # 初期化

for (i in 1:num_draws) {
  predicted_Y[i, ] <- rnorm(N,
      mean = posterior_samples$alpha[i] + 
      posterior_samples$beta_gender[i] * X_1 + 
      posterior_samples$beta_age[i] * X_2, 
      sd = posterior_samples$sigma[i])
}

# 事後予測チェック
ppc_check <- bayesplot::pp_check(object = Y, yrep = predicted_Y, fun="dens_overlay")
print(ppc_check)

実効サンプルサイズ

fit_summary <- monitor(fit)
print(fit_summary)
                     mean      se_mean         sd          2.5%           25%           50%           75%         97.5% n_eff     Rhat valid
alpha        6.921184e+00 0.0155193212 0.70682223  5.502206e+00  6.440878e+00  6.924570e+00  7.381204e+00     8.3312505  2070 1.000772     1
beta_gender -2.291384e+00 0.0083537210 0.44279597 -3.161696e+00 -2.592320e+00 -2.298043e+00 -1.992746e+00    -1.4104326  2798 1.001946     1
beta_age     8.559054e-02 0.0003989017 0.01808944  4.954774e-02  7.318514e-02  8.540466e-02  9.828155e-02     0.1209101  2051 1.000292     1
sigma        4.951900e+00 0.0027256369 0.15593607  4.658480e+00  4.843548e+00  4.946649e+00  5.058095e+00     5.2701769  3265 1.000555     1
lp__        -1.118869e+03 0.0376995835 1.47783101 -1.122466e+03 -1.119609e+03 -1.118521e+03 -1.117764e+03 -1117.0557380  1526 1.000905     1
                       Q5           Q50          Q95    MCSE_Q2.5     MCSE_Q25     MCSE_Q50     MCSE_Q75  MCSE_Q97.5      MCSE_SD Bulk_ESS Tail_ESS
alpha        5.755831e+00  6.924570e+00     8.051954 0.0341940210 0.0179667943 0.0179815608 0.0174125228 0.041111513 0.0109835488     2076     1973
beta_gender -3.012165e+00 -2.298043e+00    -1.551494 0.0235019727 0.0141219316 0.0087052647 0.0147062847 0.027382883 0.0060181400     2834     2237
beta_age     5.623037e-02  8.540466e-02     0.114979 0.0009738498 0.0005416239 0.0005417372 0.0005132177 0.001034017 0.0002830609     2062     2106
sigma        4.704350e+00  4.946649e+00     5.220389 0.0075309437 0.0034408536 0.0036507362 0.0048615927 0.008442741 0.0019301027     3288     2363
lp__        -1.121690e+03 -1.118521e+03 -1117.174445 0.1265368331 0.0521949723 0.0342846729 0.0308008386 0.013573997 0.0266666435     1620     2162

感度分析

data {
  int<lower=0> N;
  int<lower=0, upper=1> X_1[N];
  vector[N] X_2;
  vector[N] Y;
}

parameters {
  real alpha;
  real beta_gender;
  real beta_age;
  real<lower=0> sigma;
}

model {
  // 変更した事前分布
  alpha ~ normal(7, 1);  // 事後分布の95%確信区間から取りうる値を指定
  beta_gender ~ normal(-2.3, 0.45);
  beta_age ~ normal(0.085, 0.018);
  sigma ~ inv_gamma(2, 1/(4.97^2));   // 逆ガンマ分布

  // データに基づくモデル
  vector[N] gender_effect = to_vector(X_1); 

  // 観測データの尤度
  Y ~ normal(alpha + beta_gender * gender_effect + beta_age * X_2, sigma);
}
fit_sensitivity  <- sampling(sensitivity_analysis, data = stan_data, iter = 2000, chains = 4, seed=1234)
print(fit_sensitivity )
                mean se_mean   sd     2.5%      25%      50%      75%    97.5% n_eff Rhat
alpha           6.95    0.01 0.46     6.06     6.64     6.94     7.26     7.87  2365    1
beta_gender    -2.28    0.01 0.31    -2.88    -2.50    -2.29    -2.07    -1.68  3136    1
beta_age        0.08    0.00 0.01     0.06     0.08     0.08     0.09     0.11  2249    1
sigma           4.93    0.00 0.15     4.64     4.83     4.93     5.04     5.24  2997    1
lp__        -1123.62    0.03 1.35 -1126.96 -1124.32 -1123.35 -1122.60 -1121.85  1770    1

カテゴリカル変数が独立変数に入った単回帰分析[ベイズ]

RStudioでの実行。R.4.3.3+Stools4.3を使用。

Stanコード

``{stan output.var="stan_model"}  
// stanファイルを読み込まない方にするには"```{stan output.var="stan_model"}  "と書く
data {
  int<lower=0> N;                 // サンプルサイズ
  int<lower=0, upper=1> X[N];     // 独立変数(性別、0: 男性、1: 女性)
  real Y[N];                      // 従属変数(賃金)
}


parameters {
  real alpha;                     // 切片
  real beta;                      // 性別の効果
  real<lower=0> sigma;            // 誤差の標準偏差
}

model {
  vector[N] gender_effect = rep_vector(0, N);  // 性別効果のベクトルを初期化
  for (i in 1:N) {
    gender_effect[i] = (X[i] == 1) ? 1 : 0;  // 性別が1の場合は1、それ以外(つまり0)は0
  }
  Y ~ normal(alpha + beta * gender_effect, sigma);  // 単回帰モデル
}
``

独立変数が連続変数の場合は"vector[N] X;"になるが、カテゴリカル変数の場合は"int<lower=0, upper=1> X[N];"となる。ここで、"lower=0"はXの値が0以上であることを示し、"upper=1"はXの値が1以下であることを示す。このようにすることで、Xの値が0か1のどちらかであることを明示的に示している。

AERデータgernderはfactor型で"male""female"が入っているので、integer型に変換するとよいようにも思えるが、Stanコードの中で新しい変数を作った方がStanの設計思想的にはよいようだ。modelの中身は下記のようになっている。

  1. 性別効果のベクトルの初期化 vector[N] gender_effect は、性別に基づく効果を格納するためのベクトルである。すべての要素を 0 で初期化する。
  2. 性別に基づいた効果の設定 ループ内で、X[i] の値に基づき gender_effect[i] を 1(女性)または 0(男性)に設定する。これにより、betaの効果を性別に応じて適用することができる。
  3. 正規分布による回帰モデル gender_effect を使用して Y の分布を定義する。Y の各値が、alpha + beta * gender_effect の線形予測子と sigma 標準偏差を持つ正規分布に従うと仮定する。

Rコード

library(rstan)
library(AER)

data("CPS1985", package = "AER")

N <- nrow(CPS1985)
X <- ifelse(CPS1985$gender == "male", 0, 1)  # 男性を0、女性を1に変換
Y <- CPS1985$wage

stan_data <- list(N = N, X = X, Y = Y)

fit <- sampling(stan_model, data = stan_data, iter = 2000, chains = 4)

print(fit)
Inference for Stan model: anon_model.
4 chains, each with iter=2000; warmup=1000; thin=1; 
post-warmup draws per chain=1000, total post-warmup draws=4000.

          mean se_mean   sd     2.5%      25%      50%      75%    97.5% n_eff Rhat
alpha    10.00    0.01 0.30     9.41     9.79     9.99    10.20    10.59  2142    1
beta     -2.12    0.01 0.44    -2.99    -2.41    -2.12    -1.82    -1.25  2199    1
sigma     5.05    0.00 0.15     4.76     4.94     5.04     5.15     5.36  2432    1
lp__  -1128.97    0.03 1.22 -1132.20 -1129.47 -1128.66 -1128.10 -1127.58  1810    1

Samples were drawn using NUTS(diag_e) at Mon Apr 15 01:44:33 2024.
For each parameter, n_eff is a crude measure of effective sample size,
and Rhat is the potential scale reduction factor on split chains (at 
convergence, Rhat=1).

収束診断

bayesplot::mcmc_trace(as.array(fit), pars = c("alpha", "beta", "sigma"))

ペアプロット

bayesplot::mcmc_pairs(
  as.array(fit),
  pars = c("alpha", "beta", "sigma"),
  off_diag_args = list(size = 0.5)  # オフダイアゴナルのプロットの点の大きさ
  )

1.事後分布の形状:

  • 各パラメータのヒストグラムが単峰性であり、重い裾野を示さないことは良好なサンプリングを示唆している。
  • alpha と sigma の分布が正規分布に近い形をしている一方で、beta は左に歪んでいる。

2.パラメータ間の相関:

  • alpha と beta の間には負の相関が明らかであり、alpha の値が増加すると beta の値が減少する傾向にある。これは、これらのパラメータがモデルの中で相互に影響を及ぼしている可能性があることを意味する。
  • sigma と他のパラメータ間の顕著な相関は見られないため、sigma が他のパラメータから独立して推定されていることが示唆される。

3.MCMCの収束:

  • サンプルがパラメータの事後分布全体を探索していることを示すため、ペアプロットの散布図が重要である。点が全体的に均一に分布している場合は、チェーンが良好に混合しており、収束している可能性が高い。

4.異常値の検出:

  • 散布図に極端な値や点の集団が見当たらないことから、異常値や非定常性が少ないと考えられる。

5.サンプリングの効率:

  • パラメータ間に強い相関が見られる場合、MCMCサンプルの効率が悪くなることがある。特に alpha と beta 間の相関に注意し、モデルの再構築や再パラメータ化の必要性を検討する必要がある。

事後予測チェック

library(bayesplot)
# 事後サンプルからパラメータを抽出
posterior_samples <- extract(fit)

# 事後予測サンプルのマトリクスを生成
num_draws <- length(posterior_samples$alpha)  # 事後サンプルの数
predicted_Y <- matrix(NA, nrow = num_draws, ncol = N)  # 初期化

for (i in 1:num_draws) {
  predicted_Y[i, ] <- rnorm(
    N,
    mean = posterior_samples$alpha[i] + posterior_samples$beta[i] * X,
    sd = posterior_samples$sigma[i]
  )
}

# 事後予測チェック
ppc_check <- bayesplot::pp_check(object = Y, yrep = predicted_Y, fun="dens_overlay")
print(ppc_check)

実効サンプルサイズ

fit_summary <- monitor(fit)
print(fit_summary)

パラメータ推定値

Inference for the input samples (4 chains: each with iter = 2000; warmup = 0):

           Q5     Q50     Q95    Mean  SD  Rhat Bulk_ESS Tail_ESS
alpha     9.5    10.0    10.5    10.0 0.3     1     2664     2375
beta     -2.8    -2.1    -1.4    -2.1 0.4     1     2667     2810
sigma     4.8     5.0     5.3     5.0 0.2     1     2710     2770
lp__  -1131.3 -1128.6 -1127.6 -1128.9 1.2     1     1984     2547

alpha (切片): 平均約10.0で、95%の事後予測区間はおおよそ9.5から10.5。 beta (性別の効果): 平均約-2.1で、性別が女性の場合に賃金が平均で2.1単位低くなることを示す。95%の事後予測区間は約-2.8から-1.4。 sigma (誤差の標準偏差): 平均約5.0で、95%の事後予測区間はおおよそ4.8から5.3。

収束診断

              mean     se_mean        sd         2.5%          25%          50%          75%        97.5% n_eff      Rhat valid           Q5
alpha     9.996004 0.005561523 0.2871481     9.419926     9.800500     9.998778    10.189074    10.563379  2655 1.0003546     1     9.524529
beta     -2.121264 0.008184560 0.4224828    -2.955459    -2.398296    -2.125875    -1.838553    -1.280030  2653 1.0005527     1    -2.815971
sigma     5.048379 0.002941759 0.1527884     4.756829     4.940429     5.044671     5.150279     5.355369  2666 1.0027481     1     4.806732
lp__  -1128.933244 0.026932330 1.1854162 -1131.987319 -1129.477722 -1128.627958 -1128.058523 -1127.571767  1931 0.9996243     1 -1131.253235
               Q50         Q95   MCSE_Q2.5    MCSE_Q25    MCSE_Q50    MCSE_Q75  MCSE_Q97.5     MCSE_SD Bulk_ESS Tail_ESS
alpha     9.998778    10.46963 0.020787938 0.006931741 0.006684017 0.006216060 0.011640883 0.003933021     2664     2375
beta     -2.125875    -1.42042 0.023410292 0.011065249 0.009017414 0.011599195 0.013583417 0.005787992     2667     2810
sigma     5.044671     5.30261 0.007056154 0.003346517 0.004070424 0.005350249 0.007428899 0.002083929     2710     2770
lp__  -1128.627958 -1127.62371 0.124659741 0.042550946 0.023439357 0.020565164 0.005784556 0.019046901     1984     2547

Rhat: 各パラメータの Rhat 値は1.00に非常に近く、これはMCMCチェーンがうまく収束していることを示す。Rhat値が1.05以下であれば、通常、収束しているとみなされる。

Bulk_ESS と Tail_ESS: Bulk_ESS は、事後分布の「大部分」に対する有効サンプルサイズで、Tail_ESSは事後分布の「裾」に対する有効サンプルサイズである。どちらもパラメータによっては2000以上(サンプル数2000の4チェーンであれば8000サンプルのうち約2000以上が有効)と高く、これはサンプルが十分に独立しており、推定が信頼できることを示唆している。

RとStanでの感度分析

``{stan output.var="sensitivity_analysis"}
data {
  int<lower=0> N;                 // サンプルサイズ
  int<lower=0, upper=1> X[N];     // 独立変数(性別、0: 男性、1: 女性)
  real Y[N];                      // 従属変数(賃金)
}

parameters {
  real alpha;                     // 切片
  real beta;                      // 性別の効果
  real<lower=0> sigma;            // 誤差の標準偏差
}

model {
  // 変更した事前分布
  alpha ~ normal(0, 10);  // 広範囲の事前分布
  beta ~ normal(0, 5);    // 広範囲の事前分布
  sigma ~ cauchy(0, 2);   // 厳しい事前分布

  vector[N] gender_effect = rep_vector(0, N);
  for (i in 1:N) {
    gender_effect[i] = (X[i] == 1) ? 1 : 0;
  }
  Y ~ normal(alpha + beta * gender_effect, sigma);
}
library(rstan)
library(AER)

# CPS1985データセットの読み込み
data("CPS1985", package = "AER")

# データの準備
N <- nrow(CPS1985)
X <- ifelse(CPS1985$gender == "male", 0, 1)
Y <- CPS1985$wage

# Stanデータリストの作成
stan_data <- list(N = N, X = X, Y = Y)

# 新しいStanモデルのフィッティング
fit_sensitivity <- sampling(sensitivity_analysis, data = stan_data, iter = 2000, chains = 4)

# モデルの結果をプリント
print(fit_sensitivity)
          mean se_mean   sd     2.5%      25%      50%      75%    97.5% n_eff Rhat
alpha     9.98    0.01 0.29     9.41     9.78     9.98    10.17    10.53  2301    1
beta     -2.09    0.01 0.44    -2.93    -2.39    -2.09    -1.80    -1.24  2230    1
sigma     5.04    0.00 0.16     4.74     4.94     5.04     5.14     5.36  2596    1
lp__  -1131.54    0.03 1.21 -1134.72 -1132.11 -1131.25 -1130.67 -1130.16  1754    1

1. パラメータの事後分布の変化

alpha(切片):

平均値は元のモデルが10.00、感度分析モデルが9.98とほぼ変わらない。
標準偏差は0.30から0.29へわずかに減少している。
事後分布の幅(2.5%から97.5%)も若干縮小している。

beta(性別の効果):

平均値は-2.12から-2.09へわずかに増加している。
標準偏差と事後分布の幅に大きな変化は見られない。

sigma(誤差の標準偏差):

平均値と標準偏差に顕著な変化はない。
事後分布の幅にも大きな変化は見られない。

2. 収束診断(Rhat)

Rhatはどちらのモデルも1に非常に近く、チェーンが適切に収束していることを示している。Rhatが1.05以下である場合、MCMCサンプルが十分に収束していると見なされる。

3. 実効サンプルサイズ(n_eff)

実効サンプルサイズは、感度分析モデルでわずかに増加している場合があり、サンプルが異なる事前分布の影響を受け、異なる挙動を示していることを意味するが、全体的な影響は限定的である。

判断基準

パラメータの推定値が大幅に変わらない場合、モデルは事前分布の選択に対してロバストであると言える。この場合、alpha、beta、sigmaの事後推定値が元のモデルと感度分析モデルで類似しているため、モデルの推定値は事前分布の変更に対してあまり敏感ではないと解釈できる。
収束診断と実効サンプルサイズが適切であることも、MCMCサンプルが信頼できることを示している。

電子レンジにメールが来る妄想

yomidr.yomiuri.co.jp

新入社員研修中のEさんの様子がおかしい、今朝、出社しないので連絡したところ、「電子レンジにメールが次々と来るので部屋から出られない」と言って泣いているとのことだった。

地方から上京し、会社の寮に滞在して研修を受けているとのことなので、実家の親御さんに連絡し、人事部の担当者に付き添ってもらって精神科を受診してもらった。統合失調症を発症していた。Eさんにとって実際に見えてしまうもの、聞こえてしまうものにおびえ、さぞ怖く苦しかっただろう。

デシプラミンによるレム睡眠抑制:α1アドレナリン作動性機序の証拠

pubmed.ncbi.nlm.nih.gov

  • Ross, R. J., Gresch, P. J., Ball, W. A., Sanford, L. D., & Morrison, A. R. (1995). REM sleep inhibition by desipramine: Evidence for an α-1 adrenergic mechanism. Brain Research, 701(1–2), 129–134. https://doi.org/10.1016/0006-8993(95)00984-X

ノルエピネフリン(NE)の再取り込みを阻害する薬剤を急性投与すると、ネコや他の哺乳類において急速眼球運動(REM)睡眠が抑制される。その機序は、NEが脳橋のレム睡眠生成領域の細胞に作用することによると推定されている。シナプスノルアドレナリン受容体機構は同定されていない。今回の実験では、α-1拮抗薬プラゾシンとβ拮抗薬プロプラノロールが、NE再取り込み阻害薬デシプラミン(DMI)によって生じるレム睡眠抑制を逆転させる能力をネコで検証した。DMIは、レム睡眠エピソード数、レム睡眠割合(レム睡眠時間/総睡眠時間)、平均レム睡眠エピソード時間を減少させた。プロプラノロールではなくプラゾシンを併用すると、レム睡眠の割合と平均レム睡眠エピソード時間がプラセボレベルまで増加した。末梢作動性降圧薬ヒドララジンの併用は、DMI誘発のレム睡眠抑制を逆転させなかった。DMIによるα-1ノルアドレナリン作動性のレム睡眠抑制の媒介に関与する脳部位の同定は依然として不明であるが、一般にレム睡眠制御に関与しているとされる扁桃体や海綿体領域を含む前脳構造を考慮する理由がある。

en.wikipedia.org

ja.wikipedia.org

ja.wikipedia.org