#Julia言語

Juliaでの欠損値はmissing

missingをmissing以外の値の平均値に置換するには

B = replace(A, missing=>mean(skipmissing(A))) |> X -> Array{typeof(X[end])}(X)

しかし、欠損値を平均値で埋めると多くの場合に予測誤差を悪化させると思う。

代替案↓

gist.github.com/genkuroki/967c… ImageImageImageImage
#Julia言語

gist.github.com/genkuroki/967c…

かなり変更した。

* nonmissingtype
* foreach
* DataFrame ImageImageImageImage
#Julia言語

行列Aの各列をin-place函数f!(x)で書き換える操作はforループで

for c in eachcol(A)
f!(c)
end

と書けるが、さらにシンプルに

foreach(f!, eachcol(A))

と書ける。

こうやって函数化しておくと、後で並列処理に書き換え易くなると思う。
#Julia言語 配列のようなものxの中身を書き換える函数(例えばmissingを別の値で置き換える函数)を f!(x) とするとき、行列Aの各列(縦)に f!(x) を作用させてAを書き換えることは

foreach(f!, eachcol(A))

で可能。

eachrow, eachslice, mapslicesのhelpも参照↓
docs.julialang.org/en/v1/base/arr…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with 黒木玄 Gen Kuroki

黒木玄 Gen Kuroki Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @genkuroki

25 Nov
#統計

osf.io/eybpc/?show=vi…
頻度主義統計とベイズ統計についてのメモ
清水裕士
2020/11/16

は、確率測度の意味での「確率」は「全体の大きさを1としたときの部分の割合」という意味しか持たず、「ランダムに起こる現象」を意味するとは限らないことに注意を払えない杜撰な議論の典型例。 ImageImageImage
#統計 現在普及している確率論が確率測度(もしくは確率空間)の概念を基礎に据えていることは事実であり、その意味での確率論が「ランダムに起こる現象」の分析で大活躍しているのも事実です。しかし〜続く
#統計 しかし、確率の概念について正確な議論をしたいと思っている人が、普及している確率測度の意味での確率概念が「ランダムに起こる現象」の定式化にはなっておらず、単に「全体の大きさを1としたときの部分の大きさ(割合)」を定式化したものに過ぎないことを無視するのは論外に杜撰な態度です。
Read 18 tweets
24 Nov
#統計 高田健一さんが一方的に普通に正しい考え方を述べており、アルゴスさんの【頻度主義ではとくに12%を変えるとは思えません】はひどい誤り。

この手の重要な確率が「主義」で変わると誤解している。

数学弱者には「主義に基く統計学はクズなので忘れろ」を徹底しないとまずいと思います。 Image
#統計 ある程度以上のレベルを保っていれば(『統計学を哲学する』を好意的に評価する読者はレベルが低過ぎるのでダメ)、統計学と主義・思想・哲学を絡めた議論を楽しくできる可能性があると思いますが、現実の高等教育における統計学教育の内容には相当に問題があるので、そう簡単には実現しない。
#統計 大学の医学部で、小学生レベルの割合の問題について、「ベイズ」「頻度論」のような枠組みで、怪しげな肖像画を引用して教育している事例が以下のリンク先で紹介されている。

これ、普通の神経なら、相当に恥ずかしいことをしています。

学生の側が恥ずかしい教育内容に文句を言うべき。
Read 6 tweets
23 Nov
#統計 情報量規準を使って研究不正する方法

①パラメータ数が非常に多いモデルでデータにフィッティングして感じをつかむ。

②同モデルのパラメータ空間を低次元空間に制限して情報量規準の値を下げる。

③最初の①で使ったモデルには触れずに、②のモデルが正解だという内容の論文を書く。
#統計 同じ不正はハイパーパラメータを使っても可能。

①沢山のハイパーパラメータを調節してモデルの(周辺)尤度を上げる。

②そこで得たハイパーパラメータの値をほぼ含むハイパーパラメータの空間の次元がより小さなモデルを作る。

③最初の①でやったことを隠して、②の結果を使って論文を書く。
#統計 以上で紹介した研究不正の方法はそのままオーバーフィッティングさせる方法でもある。

P値を使うのをやめて統計モデリングを行なっていても、やろうと思えばいくらでも研究不正が可能だと思います。
Read 7 tweets
21 Nov
#統計 「尤度」=「モデル内でデータと同じ数値が発生する確率(もしくは確率密度)」はモデルのデータへの適合度の指標に過ぎないので、尤度の意味を「もっともらしさ」と説明するのは誤りだし、周辺尤度を「証拠」と呼ぶのも良くない習慣だと思う。

呼び方と意味を分離できている人には無害。
#統計 likelihoodとかevidenceのような誤解を助長する専門用語はもう廃止不可能なので、「用語の意味を日常的な意味で解釈してはいけない。純粋に数学的な定義に基いて理解できなければダメだ」という方向の教育を徹底して行くしかないように思われる。
#統計

* 「尤度」を「もっともらしさ」だと説明することは、純粋に数学的な定義に基かないのでダメな説明の仕方である。

* 「尤度」=「モデル内でデータと同じ数値が生じる確率もしくは確率密度」は純粋に数学的な定義に基く説明になっている。「尤度」はそれを超える意味を決して持たない。
Read 6 tweets
21 Nov
#統計 「ベイズ統計もいいよ!」と他人に言いたい人達は、Wagenmakers (2007) というP値の使用に反対してベイズをおしているクズ論文が存在して、沢山引用されていることも知っておいた方が良いかも。

replicationindex.com/2018/12/29/wag…

elsur.jpn.org/mt/2016/08/002…
#統計 その予備知識の使用例

>私はWagenmakers (2007)はクズそのものだと思っています。私がベイズ統計の方法を用いていることと、そのようなクズを結びつけるのはやめて頂きたい。

>なるほど、あなたもWagenmakers (2007)はクズだと思っているのですか。それなら安心だ。誤解をお詫びします。
#統計 ベイズ統計に関するクズ言説は心理統計学の世界からよく発信されているように見える。

どうしてこういうことになっちゃうのかね?
Read 26 tweets
20 Nov
#統計 添付画像は

ism.ac.jp/editsec/toukei…
情報量規準AICの統計科学に果たしてきた役割
小西 貞則
2019

のp.204より。

この論説は、正直に言って、かなり落胆しながら読んだ。

BICもKL情報量の推定量とみなせるので、添付画像の引用部分は非常に変です。続く Image
#統計 渡辺澄夫『ベイズ統計の理論と方法』に近い記号法で説明します(私のTLではよく読まれている教科書)。

データX_1,X_2,…は未知の分布q(x)のi.i.d.であるとし、分布族p(x|w)と事前分布φ(w)によるベイズ統計について考えます。第2章の正則モデルの設定を仮定。

続く
#統計 モデル内での仮想的なデータの分布は

p(x_1,…,x_n) = ∫p(x_1|w)…p(x_n|w)φ(w)dw

と書け、分析対象のデータの分布は

q(x_1)…q(x_n)

と書ける。これらのKL情報量は

-∫q(x_1)…q(x_n) log p(x_1,…,x_n) dx_1…dx_n
+ (モデルによらない定数)

の形になります。
Read 11 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!