Twitter APIの仕様変更のため、「いいね」の新規取得を終了いたしました

黒木玄 Gen Kuroki

@genkuroki

  • いいね数 389,756/311,170
  • フォロー 995 フォロワー 14,556 ツイート 293,980
  • 現在地 (^-^)/
  • Web https://genkuroki.github.io/documents/
  • 自己紹介 私については https://twilog.org/genkuroki と https://genkuroki.github.io と https://github.com/genkuroki と https://github.com/genkuroki/public を見て下さい。
Favolog ホーム » @genkuroki » 2023年01月11日
並び順 : 新→古 | 古→新

2023年01月11日(水)

キジトラ・コタローのウキウキDAYS!! @DAYS31612434

23年1月11日

買い物から帰ってきたら「お腹が空きすぎて倒れる」という難しい演技をこなすヌコが待っていた🤣 pic.twitter.com/4WWIlD1k23

タグ:

posted at 14:12:15

EARLの医学ツイート @EARL_med_tw

23年1月11日

5類にしたら特別扱いではなくなるので対応キャパがむしろ減るということがなんで理解できないんだろう twitter.com/en6rcvnqkgpjou...

タグ:

posted at 15:50:18

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント

たまに

❌sum([f(x) for x in X])

のようなコードを見る。これだと配列 [f(x) for x in X] の分だけメモリ割当が発生するので、繰り返し呼ぶコードをこのように書くのは非常によくない。[ ] を削除して、

⭕️sum(f(x) for x in X)

とするか、

⭕️sum(f, X)

と書くべき。

タグ: Julia言語 ヒント

posted at 16:41:30

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント


function F(a, b)
@ assert length(a) == length(b) # @ 直後の空白を除く
sum(f(a[i], b[i]) for i in 1:length(a))
end

よりも

⭕️
F(a, b) = sum(f(a[i], b[i]) for eachindex(a, b))

の方がシンプル。eachindex(a, b)はa,bの長さが異なるときエラーになる。

タグ: Julia言語 ヒント

posted at 18:19:33

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 他にも、

F(a, b) = sum(Splat(f), zip(a, b))

というさらにシンプルな書き方もある。この場合には、aとbの長さが異なるならば、エラーにならずに、長さの短い方に合わせて和が計算される。

Splat(f)は x -> f(x...) と同じ。

タグ: Julia言語

posted at 18:19:48

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント

一般に、

❌ 1:length(x)

よりも

⭕️ eachindex(x)

の方がベター。他にも

⭕️ keys(x)

が便利な場合がある。例えば、行列Aのkeys(A)はCartesianIndices(A)になってくれる。

タグ: Julia言語 ヒント

posted at 18:26:52

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント 行列や多次元配列のAについて、第1インデックスの全体が欲しい場合には、

❌1:size(A, 1)

よりも

⭕️axes(A, 1)

の方がよい。

タグ: Julia言語 ヒント

posted at 18:32:55

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント

Juliaでは

⭕️ 1:n

も縦ベクトル(AbstractVector)扱いされるので

❌ Vector(1:n)

のように書く必要はない場合が多い。Vector(1:n)だと無駄なメモリ割当を発生させてしまうことになるかもしれない。

タグ: Julia言語 ヒント

posted at 18:44:35

みっちー @pomryo0708

23年1月11日

@genkuroki 1.9ではSplatで動作するのですか?
1.8.3ではBase.splatで動きましたが.

タグ:

posted at 18:44:37

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント

using LinearAlgebra: I

しておくと、「サイズが任意」の単位行列のような

⭕️ I

を使えるようになる。サイズを I(n) のように指定して使う必要はない。単位行列をMatrix型で作る必要はない。

かけるとスカラー倍(c倍)になる行列のようなものとして

⭕️ c*I

も使える。

タグ: Julia言語 ヒント

posted at 18:48:47

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント Matrix型としての単位行列のかけ算は、通常の行列のかけ算になり、無駄な計算が発生する。単位行列をかける操作はシンプルに「何も変えない」であって欲しい。

それを実現してくれるのが、LinearAlgebra.I です。

この辺でJuliaの多重ディスパッチの利点が活かされています。

タグ: Julia言語 ヒント

posted at 18:52:18

黒木玄 Gen Kuroki @genkuroki

23年1月11日

@pomryo0708 すみません。その通りです。

私が使っているのはJulia v1.9.0-beta2 です。

元のスレッドの方でも注意しておきます。

気付いていなかったので、この指摘は助かりました。

タグ:

posted at 18:54:14

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント

これは重要な指摘。

Splat(f) はJulia v1.9以上で使えます。

v1.8以前ではBase.splat(f)がその対応物です。

私がv1.9.0-beta2に引っ越してしまっていたことを忘れていました。ごめんなさい。

v1.9に引っ越すとusing Plots後の最初のplotがバカ速くなります。 twitter.com/pomryo0708/sta...

タグ: Julia言語 ヒント

posted at 18:59:08

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント

ベクトルxと行列Aを引数として持つ函数を


function f(x::Vector, A::Matrix)

end

と定義するのはやめた方がよい。

⭕️
function f(x::AbstractVector, A::AbstractMatrix)

end

もしくは

⭕️
function f(x, A)

end

と書くべき。続く

タグ: Julia言語 ヒント

posted at 19:13:28

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント 続き。無駄なメモリ割当を防ぐために、view を使って成分を部分に制限したベクトルや行列を作るようにコードを変更すると、今までVectorやMatrix型の引数を渡していた函数に違う型の引数を渡すことになるので、それにも対応できるように書いておかないと後で苦しむ。

タグ: Julia言語 ヒント

posted at 19:13:29

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント 引数の型をMatrix型にすることの問題点については以下の解説も参照。

Juliaの使い方や数値計算で注意するべきことについては、Julia discourseでのstevengjさんの解説が非常によいです。

`eachindex(x)` replacement for `1:length(x)-1` and similar discourse.julialang.org/t/eachindex-x-... pic.twitter.com/0LKqq6vEGR

タグ: Julia言語 ヒント

posted at 19:21:31

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント stevengjさんはJuliaの使い方だけではなく、数値計算に関する教科書的な事柄までめちゃくちゃ親切に解説してくれています。

教科書で読むよりも、Julia discouseでの質問への回答の中での解説の方が心に響くことが多いように思われるので非常にお勧め!

discourse.julialang.org/u/stevengj/sum...

タグ: Julia言語 ヒント

posted at 19:26:23

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント

例えば

discourse.julialang.org/search?q=inver...
inverse matrix @ stevengj をJulia discourseで検索

数値計算での厄介な問題に「逆行列」がある。
逆行列を計算することは原則として禁忌。

タグ: Julia言語 ヒント

posted at 19:30:44

青秋部長@台湾博覧会1935 @seishubu_N

23年1月11日

ついに我が家にもふりかかってきた「かけ算の順番」問題。どっちでもええやんけ! pic.twitter.com/Rw71RaNSoI

タグ:

posted at 20:41:54

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#Julia言語 #ヒント

補足

❌sum([f(x) for x in X])
❌sum(f.(X))

では[f(x) for x in X]とf.(X)の分だけ無駄なメモリ割当が発生するので、

⭕️sum(f(x) for x in X)
⭕️sum(f, X)

の方が勝ります。同様に、

❌maximum(f.(X))

などより

⭕️maximum(f, X)

などが勝ります。 twitter.com/genkuroki/stat...

タグ: Julia言語 ヒント

posted at 21:13:04

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 パールさんによれば、観察データと因果推論でモデルを変える必要があることは、Haavelmo 1943にすでに書いてあるらしい(未見)。

ftp.cs.ucla.edu/pub/stat_ser/r...
Trygve Haavelmo and the Emergence of Causal Calculus
Judea Pearl
2015

タグ: 統計

posted at 21:23:19

SpringerMath @SpringerMath

23年1月11日

Very sad news: Prof Mikio Sato died in Kyoto on 9 Jan 2023, aged 94. May he rest in peace. 💐

He was an invited speaker at #ICM1970 Nice, and later at #ICM1983 Warsaw. #HistoryOfICM

He was awarded #SchockPrize 1997, #WolfPrize 2003.
wolffund.org.il/2018/12/10/mik...

タグ: HistoryOfICM ICM1970 ICM1983 SchockPrize WolfPrize

posted at 21:25:19

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 多分、すでに階層モデルによるベイズ統計モデリングについて既習の人にとっては、

統計的因果推論のためには観察データの生成のされ方のモデルを変更したものを用いる

という要約に沿って統計的因果推論について学ぶ方が易しいと思われる。続く

タグ: 統計

posted at 21:33:32

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 続き。ただし、統計的因果推論の文脈における「モデル」は単なる同時確率分布ではなく、因果関係の記述の情報も含むことにしておく必要がある。

観察データの生成のされ方のモデルであれば同時確率分布で十分だが、因果推論ではそれでは不十分。続く

タグ: 統計

posted at 21:33:33

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 ベイズ統計では、どんなに複雑な階層モデルであっての観察データに関するパラメータ付き同時確率分布と事前分布を与えれば十分だが、因果推論では同時確率分布よりも細かい情報までモデル化しておくことが必要。

しかし「既知のモデルと未知の現実」という見方を変える必要はない。

タグ: 統計

posted at 21:33:36

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 観察データの生成のされ方のモデルMは観察データによって検証や推定が可能。

因果推論では観察データのモデルMそのものではなく、それを少し変更したモデルM'を使う。もしも、Mに関する結果からM'に関する結果が得られるなら、因果推論が可能になる場合が出て来る。

これが因果推論の仕組み。

タグ: 統計

posted at 21:41:21

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 モデルと現実の混同は科学では致命的なので、議論されている数値が、現実から得たデータの数値なのか、それともモデル内で仮想的に生成された数値なのかを明瞭にしておきたい。

観察データに関するモデルや因果推論用のモデルなどが明瞭に定義されていれば、その辺の混同の可能性がなくなる。

タグ: 統計

posted at 21:46:10

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 統計的因果推論では、現実の観察では起こらなかった条件のもとではどうなっていたかを推測する必要がある。そういうことをするには、そのためのモデルM'を作って、モデルM'を使って推測する必要がある。続く

タグ: 統計

posted at 21:59:52

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 しかし、その因果推論用のモデルM'は、観察データの生成のされ方のモデルMとは異なるので、モデルM'の検証や推定は観察データから直接的に行うことは不可能。続く

タグ: 統計

posted at 21:59:53

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 しかししかし、観察データから直接検証や推定が可能なモデルMに関する結果から、因果推論用のモデルM'に関する結果が得られるのであれば、因果推論が可能になるかもしれない。

以上が統計的因果推論の基本アイデアだと言って良いと思います。

変なことを言っていたら教えて下さい。

タグ: 統計

posted at 22:01:59

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 「現実にはかくかくしかじかのような仕組みで観察データの数値が生成されているように思われる」という意味での観察データのモデルMと、「現実での観察とは異なる~という条件の下では~となるはずだ」という意味での因果推論用のモデルM'が同じものになるはずがない。

タグ: 統計

posted at 22:08:41

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 上のモデルMとモデルM'の違いは、観察研究でのデータの数値の生成のされ方のモデルとランダム化比較研究でのデータの生成のされ方のモデルの違いに似ている。

背景にある基本的な考え方:モデルはモデルで現実とは違うことを明瞭にしておきたい。当たり前の話だが、結構軽視されがち。

タグ: 統計

posted at 22:15:08

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 通常の科学研究では、未知の現実をうまいことモデル化して観察データを使ってモデルMを検証したり、モデルのパラメータを推定したりします。

そのパターンに観察データから直接的に検証や推定できないモデルM'を使う話が追加されていることが、統計的因果推論の特徴なのだと思います。

タグ: 統計

posted at 22:19:06

しえん@韓国語ベラベラさん @shienshoshi

23年1月11日

子どものプリントの束から見つかったのですが、式がバツされている意味が不明で、こりゃ算数嫌い、数学嫌いが量産されるわけだなぁと思いました。
書き直したわけではなく計算してるだけなんですけどね。 pic.twitter.com/SkyirGyY0P

タグ:

posted at 22:25:13

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 とは言うものの、観察データから直接的に検証や推定できないモデルM'の話も、どこかで観察データに帰着できないと科学研究にならない。

だから、観察データから直接的に検証や推定できるモデルMに関する結果から、どれだけモデルM'に関する結果を出せるかを数学的に調べる必要がある。続き

タグ: 統計

posted at 22:25:20

黒木玄 Gen Kuroki @genkuroki

23年1月11日

#統計 所謂DAGで記述されるモデルMとM'=Mₓの場合について、「モデルMに関する結果からモデルM'に関する結果をどれだけ出せるか」という型の問題を扱う数学の研究を適切に遂行したのが、パールさん達であった。

タグ: 統計

posted at 22:25:21

黒木玄 Gen Kuroki @genkuroki

23年1月11日

「モデルMに関する結果から別のモデルM'に関する結果をどれだけ出せるか」という型の問題を扱うという一般的な考え方は、統計的因果推論以外にも役に立つ可能性があるとも思いました。

タグ:

posted at 22:27:47

ヤッシー @84yame1000

23年1月11日

文化庁の出した
「漢字の許容」
について、

未だに
・本来は間違った字形だが、教育的配慮として許容している
・最近になって、漢字の許容範囲が広がった
という誤解があるんですね。

タグ:

posted at 22:57:01

@genkurokiホーム
スポンサーリンク
▲ページの先頭に戻る
ツイート  タグ  ユーザー

User

» More...

Tag

» More...

Recent

Archive

» More...

タグの編集

掛算 統計 超算数 Julia言語 数楽 JuliaLang 十分 と教 モルグリコ 掛け算

※タグはスペースで区切ってください

送信中

送信に失敗しました

タグを編集しました