Rを使いこなす

rstanで打ち切りデータがあるときのパラメータ推定をする

これに、打ち切りデータがあるときの平均値の推定問題がある。StanとRでベイズ統計モデリング (Wonderful R)作者:健太郎, 松浦発売日: 2016/10/25メディア: 単行本データが正規分布に従うのだろうが、25を下回るデータはとなっているので、このデータを無視…

新型肺炎COVID-19の重症化率を推定する

読んだ。 Eurosurveillance | Estimating the infection and case fatality ratio for coronavirus disease (COVID-19) using age-adjusted data from the outbreak on the Diamond Princess cruise ship, February 2020 ダイヤモンド・プリンセス号のデータ…

新型肺炎COVID-19 の感染陽性患者数の過小報告分をrstanで推定する

読んだ。 Ascertainment rate of novel coronavirus disease (COVID-19) in Japan | medRxiv ascertainment rate という、感染者数(PCR陽性ベース)がどれくらいか、つまり、1だと実際の報告数が潜在的な患者数と同一で、>1だと過剰に報告されている、軽症…

新型肺炎COVID-19 の潜伏期間をrstanで推定する

読んだ。 Incubation period of 2019 novel coronavirus (2019-nCoV) infections among travellers from Wuhan, China, 20-28 January 2020. - PubMed - NCBI最初に武漢で肺炎が発生したときに、88症例について感染履歴を聴取して、ワイブル分布で潜伏期間を…

新型肺炎COVID-19の感染力R0を推定する

読んだ。 www.ncbi.nlm.nih.gov 巷を賑わせているCOVID-19だが、厚生労働省がダイヤモンド・プリンセス号のPCR陽性者数を逐一ネットに挙げていたので、この論文にもあるようにそこからデータを取ってきて、COVID-19の感染力を推定しようと思った。 Basic rep…

rstanで自分で定義した確率分布からサンプリングする:Johnson's SU 分布

本当はこの通りにしたかったが、自作関数のサンプリングが遅すぎたので先に正規分布normalからのサンプリングがvectorかひとつひとつかtargetかで変わるのかを検証していた。 結論から言うと組み込みのvector型サンプリングは速いが、自作関数はひとつひとつ…

rstanでの確率分布からのサンプリングの速さを比較する

rstanで自作関数、というかrstanに実装されていない確率分布からサンプリングをしたくてコードを書いていたが、その前にコードの書き方でサンプリングの効率というか速さが違うので速くなる書き方をしよう、という検証。 結論から言うと、実装されている関数…

令和2年2月21日版の国内コロナ陽性者をgooglevisでやる

www.mhlw.go.jp これの2月20日12:00現在、確認されている国内の発生状況の国内事例(チャーター便帰国者を除く)をgooglevisを使って都道府県名別にプロットしてみようと思った。 googlevisクッソ使いにくい。 厚生労働省もがんばっているのだろうが、(令和…

ふたつの分布が違うのをどう示したらいいですか

こんな記事を書いたらごく狭い範囲で反響があった。 mikuhatsune.hatenadiary.com ガンマ分布の記事感動しました。そんなガンマ分布マスターであられる驚異のアニヲタさんに質問するもの失礼なほど低級な質問なんですが、、、 ある疾患があって、その疾患発…

混合分布:急性期と亜急性期の発症がある

こんな感じのデータを見かけた。 本人が言うには、8日あたりを境目にして、8日までに発症するパターンと、それ以降に発症するパターンに分かれそうだ、という。 データの意味合いと二峰性の具合から、おそらくふたつのガンマ分布が重なっているのでは、とい…

「男女間モテ格差」をzero-inflated model で考える

こんな話を見つけた。そもそも、女性の考える「非モテ男性」と実際の「非モテ男性」の認識にすれ違いがありそう。女性は何もしなくても75%は一度は告白される。一方男性は、半数以上が一度も告白されない。女性のリアルからみると「非モテ」とは「下位25%…

メタアナリシスっぽいので公平な入試を受けたい

12月7日の配当記事です。 qiita.comJapan.Rでこの話をした。 mikuhatsune.hatenadiary.comSlideShare は埋め込めるけどRpubs は埋め込めないようだった。 RPubs - 20191207 Japan.R#7 前回の記事との変更として、「女子学生に対して、男子学生の合格」にORを…

アレルとgenotype の頻度を信頼区間付で求めたい

という質問を受けたので1万年と2000年ぶりくらいに遺伝統計やった。 雰囲気としては、こんな感じの値を求めたい。Indian J Endocrinol Metab. 2014 Nov-Dec; 18(6): 850–854. のTable 1 より引用www.ncbi.nlm.nih.gov ここで、データとしては被験者たちのgen…

多浪女性だけど医学部に合格したい

結論から言うと福岡大学(多浪を重視、OR=1.31)は多浪女性でも医学部合格しやすいかもしれない。ただし女性であることで合格しやすいかは有意差がない。 現役女性に限って言えば、女性で合格しやすいのは三重大学(OR=1.23)、弘前大学(OR=1.34)である。 …

東京大学での式辞の統計問題を考える

こんな話を見かけた。ちなみに式辞は読んでない。 qiita.comデータ取得まではやってくれていて、解析もしていた。解析者では、東京大学、鳥取大学、島根大学の医学部での男女合格率には差がない、ということだった。 せっかく81大学の男女受験者数と合格者数…

googlevis をはてなブログにそのまま貼れる

前にこんな話をした。 mikuhatsune.hatenadiary.com 旧はてなダイアリーではhtml の扱いがよくわからなかったので、グラフ上の値を取得できるreactive なグラフはよくわからなかった。 はてなブログではhtml の扱いが強化されているっぽいので、googlevisやp…

googlevis でいろいろ触れるプロットを作る

この記事はR Advent Calendar 2018 の24日目の記事です。 R でプロットするときに、標準ではgraphics のなかにあるplot を使ってべたなプロットを作ると思うが、最近ではggplot なんかが流行っている。 最近、プロット上にマウスカーソルを持ってくるとデー…

第113回医師国家試験を項目反応理論で解析します(予告)、の予備実験

予備実験用の解答サンプルシートはこちら 第112回から適当に20問とってきたもの。 ↓ https://docs.google.com/forms/d/e/1FAIpQLSfiLVA-1m7NC5SMmyi0X1ftSYJzhWuOac6kr-WMR8gKgFLWVA/viewform shiny 上でその20問の項目反応理論(IRT) ↓ https://yfujii08.shi…

自然科学研究のためのR入門: 再現可能なレポート執筆実践 (Wanderful R)

読んだ。自然科学研究のためのR入門―再現可能なレポート執筆実践― (Wonderful R 4)作者: 江口哲史,石田基広,市川太祐,高橋康介,高柳慎一,福島真太朗,松浦健太郎出版社/メーカー: 共立出版発売日: 2018/10/11メディア: 単行本この商品を含むブログ (1件) を見…

ようやくShinyを使ってインタラクティブにパラメータをいじって遊べるシミュレーターをweb上にあげることができた

Shinyというhtml 上でいろいろパラメータをいじったものを即座に計算して描出するインタラクティブでなんかすごいアプリがあったのだが、rmarkdown と同様に手をつけることなく放置していた。 せっかちな人はこちら → https://yfujii08.shinyapps.io/pkpdsim…

gganatogram を使って人体を描く

こんなのを見かけた。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/w…

W杯の試合観戦中にトイレはいついくべきか

こんなツイートを観測した。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter…

single cell の分化系統樹解析

読んだ。 A comparison of single-cell trajectory inference methods: towards more accurate and robust tools. single cell のRNAseq などからデータを取得して、細胞分化系統樹を解析するのに多種多様な手法やパッケージが出ている。 59手法を試してみて…

行列演算だから速いだろうと油断してはいけない

回帰分析の最小二乗法による係数の推定は で求められる。ここで、標本数、パラメータ数 とすると である。 普通に演算すると、 に をかけて をかける、という順番だが、 として先に と をかけて としてから にかけるのが高速である。 20180607追記 スーパー…

ギブスサンプリング

Metropolis-Hastings サンプリングをやったので、ギブスサンプリングをやってみる。 ある変数 について、 番目を取り除いた を ( 番目が抜けている) で順次サンプリングして、その値を入れなおしてまたサンプリングする、を について行う。 結局、あるひと…

Rmd をコマンドでrender したい

rmarkdown を使っているとき、Rstudio ならknitr ボタン、コマンドならrender でRmd ファイルがコンパイルされる。 昔、同僚が「R を開かずにコマンドでrender したいすっね〜」って言っていたのでワンライナーで自作してあげたのだが、いまさらながら自分も…

ランダムウォークで乱数を生成する

機械学習のTA なのに機械学習素人なので機械学習と統計の講義を聞いている。 多次元な確率分布から乱数をいい感じに取ってくる方法に、ランダムウォークを使う。 多次元な確率分布としては、単純に2次元正規分布、とする。二次元の正規分布は、x1 とx2 のそ…

グラフの検定

グラフの相同性とか統計量とかの話で、cug.test という検定を後輩から教えてもらった。 sna パッケージでできる。 グラフ隣接行列からランダムな隣接行列を作りまくって分布を作成して、p値を計算するらしい。 グラフとしてはこんな感じで 検定は以下のよう…

アンケート調査でN数はいくら必要なのか

こんな話を見かけた。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/w…

Grid Error Analysis

糖尿病の研究をしたいという知り合いから、Grid Error Analysis をしたいのだが、という相談を受けた。 ぶっちゃけ聞いたことがなかったが、要は糖尿病患者が自身で簡易血糖観測器を用いて測定した血糖と、本当の血糖の値が正しいかどうかを考えているだけ。…