#Julia言語 以下のリンク先と同じことをやってみたい人のための解説

①まず、 julialang.org/downloads/ からCurrent stable releaseで自分のパソコンに合っているものをダウンロードし、自分のパソコンにインストールする。

②インストールしたJuliaを起動する。

添付画像はnightly build。続く
#Julia言語

③添付画像1のように julia> プロンプトに

using Plots

と入力してエンターキーを押します。

そして添付画像2のように y と入力しエンターキーを押します。

すると添付画像3,4のようにPlots.jlパッケージがインストールされます。
#Julia言語

github.com/genkuroki/publ… にアクセスし、そこの In[1] のusing Plots以外の部分を、julia> プロンプトの側にコピー&ペーストして下さい。

そして、最終行の確定のためにエンターキーも押しておく。

そしてしばらく待ちます。
#Julia言語

⑤添付画像のようにグラフが表示されれば成功です!

⑥公式ドキュメントのページにアクセスする。

docs.julialang.org/en/v1/

すでに他言語でプログラムを書いたことのある人は

docs.julialang.org/en/v1/manual/p…

を優先的に読むと時間の無駄を防ぎ易いと思います。
#Julia言語 「超高級電卓」としてもJulia言語は便利に使えるのでインストールしておいて損がないようにも思えます。
#Julia言語 新しいもの好きならば、

(a->a[a.∉(a*a',)])(2:100)

を実行すると、どうして素数の配列が得られるか、について調べてみるとよいと思います。
#Julia言語 (a->a[a.∉(a*a',)])(2:100) の謎解きをするには部分的に少しずつ実行して、結果を確認するとよいです。

添付画像
①a = 2:100
②b = a*a'

a*a'で 2×2から100×100までのかけ算の表が得られます。
#Julia言語

∉の入力の仕方は、julia> プロンプトで ? キーを押してヘルプモードにしてから、そこに ∉ をコピー&ペーストしてエンターキーを押せばわかります。

\notin タブキー で入力できる。
#Julia言語 以上で紹介したように公式バイナリで ∉ のようなユニコード文字の入力方法がサポートされており、世界中のJuliaユーザーたちがユニコード文字を自分が書いたプログラムの中で利用しています。

c = a.∉(a*a',) とすると、素数番目の成分がtrue (1と表示されている)の配列が得られる。
#Julia言語 素数番目と書いたが2,3,4,...と2が最初。

.∉は∉のブロードキャストで、(a*a',)と( ,)でa*a'を囲んでいるのはブロードキャストからa*a'を保護するためです。Ref(a*a')も同じ目的のために慣用的に使われています。この部分が初めてだと難しいはず。

a[c]の結果は以下のようになります。
#Julia言語 a=2:100とa*a' に戻る。

a=2:100は2,3,4,...,100が縦に並んだ縦ベクトル扱いされます。

a'はその転置で横ベクトル扱いになります。

a*a'は縦ベクトル×横ベクトルなので行列になります。その行列が2×2から100×100までのかけ算の表になっていることは行列について知っていればわかる。
#Julia言語

17 ∉ a*a' は{2,3,...,100}中の2つの数の積の表に17が含まれていないので、true になります。

91 ∉ a*a' は19が含まれているのでfalseになる。

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] .∉ (a*a',) は [1, 2, ..., 10]の各々の成分に以上の操作を施すこと(ブロードキャスト)を意味する。
#Julia言語 このブロードキャストは非常に便利で、理解しているとコードをものすごく簡略化できます。

ここに慣れると非常に快適にJuliaを超高級電卓として利用できるようになります。
#Julia言語

f(x, y) = x^2*y/(x^2+y^2)
x = y = range(-1, 1, 1001)
using Plots
surface(x, y, f)

と入力すると(添付画像1)、添付画像2のようなグラフが得られます。

これは原点で偏微分可能だが微分不可能な函数の有名な例になっています。

• • •

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

Sep 30
#統計 以前にも述べたことですが、

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

の添付画像の部分はひどいです。

BICもあるKL情報量(+モデルによらない定数)の(大胆な)推定値になっていることを小西さんは理解していないっぽい。

リンクに続く Image
#統計 続き

以前に述べていたことは以下のリンク先すれっどにある。

BICは対数周辺尤度の-2倍の大胆な近似とみなされ、対数周辺尤度の-1倍の標本の確率的揺らぎに関する期待値は

 あるKL情報量+モデルによらないある定数

に一致している。

渡辺澄夫『ベイズ統計の理論と方法』を参照。
#統計 渡辺澄夫『ベイズ統計の理論と方法』のようなよく普及している教科書レベルの内容を理解していれば、【納得いきます】とは言ってはいけない案件。

その本に書いてあるように、BICの近似先の対数周辺尤度の-2倍は2KL情報量+定数の推定値だとみなされるので、情報量規準という呼び方は自然。
Read 28 tweets
Sep 30
この発言はひどいので、きくちさんにすみやかに謝罪して、撤回するべき。

勘違いして擁護していた側が批判側に回ること自体が結構大きめの貢献になる場合は結構多いので、意見を変えることを躊躇する必要はないと思いました。
【僕にもバイアスはありますが、それでファクトチェックが不当に歪まないように〜自分を日々チェックしてます。】

これを信用してもらうためには、

HPVワクチンについての朝日新聞の報道については徹底的にファクトチェックする

と言う必要があります。これを言えないようだとアウト。
参考資料

JFCファクトチェックガイドライン

docs.google.com/document/d/1lX… Image
Read 25 tweets
Sep 29
#統計 「信頼区間」のような入門的な統計学用語を定期的にツイッターで検索しているのだが、

❌P値の使用はやめるべき



❌P値ではなく信頼区間を使うべき

がワンセットになっている誤解をよく見る。

⭕️95%信頼区間の各点には5%以上のP値達が乗っている

というイメージが見えていないらしい。
#統計 95%信頼区間は「P値が5%以上になるパラメータ値全体の集合」なので、本質的に

❌P値を使わずに、信頼区間を使うこと

は不可能です。

信頼区間に含まれるパラメータ値達の立場は同等ではなく、それぞれにP値というデータの数値とモデル+パラメータ値の相性の良さの指標が対応しています。
#統計 95%信頼区間の両端の点に対応しているP値は5%で、一般に100(1-α)%信頼区間の両端の点に対応してP値はαになります。

αを動かして、さまざまな幅の信頼区間を計算すれば、パラメータ値にどのようなP値が対応しているかがわかる、のように考えることができます。
Read 19 tweets
Sep 28
#統計 以下のリンク先で引用されている jakevdp.github.io/blog/2014/06/1… のExample 2: Jaynes' Truncated Exponential の内容がひどかったので、Jaynes(1976) bayes.wustl.edu/etj/articles/c… の関連箇所を見たらもっとひどかったので、ひどさが分かるようにノートを作りました。

github.com/genkuroki/publ…
#統計 Jaynes(1976) bayes.wustl.edu/etj/articles/c… (doi.org/10.1007/978-94…)のpp.196-198がびっくりするぐらい酷い。

__不適切な__信頼区間の構成法と平坦事前分布のベイズ信用区間を比較して、信頼区間を強くdisり、さらにp.198辺りでそのことについて講演したときの様子を偉そうに説明している。 ImageImageImage
#統計 統計学の内容以前に人間性が疑わしく思えて来そうなほど偉そうに書いている。

私には、単にJaynesさんは切断指数分布モデル(truncated exponential distribution model)の場合に、適切な信頼区間の構成法を見付けることができなかっただけに見えました。

github.com/genkuroki/publ…
Read 17 tweets
Mar 15
#統計 n回中k回奇数の目が出たというデータが得られたとき、

pᵏ(1-p)ⁿ⁻ᵏ

を最大化するpの値k/nを奇数の目が出る確率の推定値とするのが、二項分布モデルでの最尤法に一致します。

その最尤法では、n回中k回奇数の目が出たら、奇数の目が出る確率はk/nだと推定される。非常に安易!続く
#統計 データからの最も安易な推定法は、シンプルなモデルを使った最尤法に一致することが多いです。

上の例では、3回中3回とも奇数の目が出ると、奇数の目が出る確率は3/3=1だと推定される。

この推定結果は真実を意味するわけでも何でもなくて、特定の方法による単なる推定結果に過ぎません。
#統計 最尤法については、入門的な教科書の多くに妙な説明がよく書いてあります。

東大出版会の『統計学入門』は最尤法に限らず統計学における基本概念についてことごとくミスリーディングな説明をしているのに、標準的教科書の地位を占めてしまった。

これが高等教育の現実で結構厳しい。
Read 17 tweets
Mar 15
#統計

データと統計モデルが与えられたときに、モデルのパラメータ値にP値を対応させる函数をP値函数と呼びます。

P値函数全体の情報は尤度函数全体の情報に近似的に等しくなる場合が多い。

その場合には、P値函数が最大になるパラメータ値は最尤法による点推定の結果に近似的に等しくなる。続く
#統計 さらに、尤度函数全体の情報はベイズ統計での事後分布の情報にも近い。(事前分布の違いしかない(笑))

このように、Rothmanさん達の疫学の有名教科書がすすめているP値函数全体を使うという考え方は、尤度函数全体の様子を見ることとの関係を通して、ベイズ統計と地続きで繋がっています。
#統計 データと統計モデルから決まる

 P値函数、尤度函数、事後分布の3つ

はほぼ同じような使い方をできる統計量になっています。

こういう理解の仕方ができれば、「主義が違う別の統計学がある」という有害な言説に騙されることなく、柔軟に統計学的ツールを使いこなし易くなると思われます。
Read 6 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

Don't want to be a Premium member but still want to support us?

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

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(