#Julia言語 で include や Revise.includet を使っている人達は、どこかの段階で、自分専用パッケージをものすごく簡単に作れることに気付いて、

using MyPkg

のようにして、自分が書いたコードを使うようにすれば楽しいと思います。もちろん、using MyPkgの前にusing Reviseしておくと便利。続く
#Julia言語 適当なディレクトリで

pkg> generate MyPkg
pkg> dev ./MyPkg

とすると

MyPkg/Ptoject.toml
MyPkg/src/MyPkg.jl

が作成され、

julia> using Revise
julia> using MyPkg

で使えるようになり、MyPkg.jlの編集結果がREPLに自動反映される。 Image
#Julia言語 のREPLは、shell (badh, zsh, fish, ...)のようなもので、自分で書いたshell scriptsの集まりの類似物は、自分がよく使う函数などをまとめたパッケージです。パッケージ中の函数をREPL内で組み合わせて仕事を行う。
#Julia言語 におけるshell scriptの類似物として foo.jl のようなjlファイルを考えることもできるのですが、そのように考えるよりも、REPLをshellのコマンドラインのようなものと考えて、単なるjlファイルではなく、パッケージを作って、その中の函数をREPLで使う方が便利です。

• • •

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

20 Sep
#数楽

∫ xⁿ eᶜˣ dx 型の不定積分は本質的に

 不完全ガンマ函数

と呼ばれる基本特殊函数(統計学などで使用される)になっていることを、高校生に数学を教える人達には知っておいて欲しいと思いました。

γ(s, x) = ∫_0^x tˢ⁻¹ e⁻ᵗ dt

ja.wikipedia.org/wiki/%E4%B8%8D…
#数楽 関連スレッド

高校数学IIIの教科書に出て来る断片的な計算例の多くが、実戦的な応用で必要な数学を理解するために必要な具体的な計算例にもなっています。

天下り的に何の価値があるか不明の計算をやらされるのではない方が勉強し易く感じる高校生は結構多いのではないかと思います。
#数楽

∫_a^b (x - a)^A (b - a)^B dx

の形の定積分は本質的にベータ函数

B(p, q) = ∫_0^1 t^{p-1} (1 - t)^{q-1} dt

です。さらに t = (cos θ)² とおけば

∫_0^{π/2) (cos θ)^C (sin θ)^D dθ

も本質的にベータ函数であることが分かります。
Read 12 tweets
19 Sep
新型コロナ関係の論文でもWAICは使われまくっていたと思います。
しかし、今の時点では無責任発言なので、そういう類の発言だと受け取って欲しいのですが、階層モデルを使っている場合のWAICおよびLOOCVの使い方は軒並み間違っているのではないかと予想しています。既存のパッケージでお手軽に計算するとそうなり易い。
これ、WAICに詳しい誰かが、出版済みの論文群をチェックして、警鐘を鳴らすべき案件である可能性があります。

手を出すととてつもなく面倒なことになりそうな案件でもある。
Read 7 tweets
19 Sep
「もとにする数」?しかも小3で。

これはひどいな。

こんな問題については一生理解する必要はありません。

この手の算数プリントに気付くたびに、うちではお母さんが素早く子に「こんなの理解しなくていい!」とはっきり言う方針になっています。
算数教育界は「どんな数をもとにするか」のような算数教育界でしか通用しない子供が習得し難い用語を算数教育界の都合で使用する傾向があります。

そういう非常識で子供に優しくない人たちに、子供の側が合わせてやる必要はないです。

「自分ちではマル❤️」でいいと思いました。
#超算数 リンク先のような反応は頓珍漢。

実際、【どんな数をもとにすると】の意味がわからない、という大人側からの反応が続出している。

高等教育を受けた日本語話者であっても、その言い回しを理解できない。

国語的には【どんな数をもとにすると】という言い回しには教える価値がない。
Read 33 tweets
19 Sep
私は

* かけ算順序問題
* ベイズ統計の教育問題

の両方について積極的に発言しているのですが、ベイズ統計についても「論争が続くとベイズ統計を勉強できない」の類の発言が継続的に観察されます。

その問題は、算数レベルだけではなく、高等教育レベルでも、そのまんま発生しています。
答えは非常に簡単で

* かけ算順序固定強制指導を擁護している人達の側が一方的に間違っている。

* ベイズ統計の主観確率による解釈が必須だと信じている側が一方的に間違っている。

と考えて何の問題もありません。これだけ明らかな間違いをまともかもしれないと疑うこと自体が相当におかしい。
ただし、

* かけ算順序問題
* ベイズ統計の教育問題

の場合には、通常のニセ科学問題やニセ医学問題の場合と違って、社会的に専門家とみなされる十分立派な地位についている人達による出版物にデタラメな話が書いてあることが普通。

後者については心理統計の専門家のトンデモ度が突出している。
Read 11 tweets
17 Sep
#Julia言語 値の集合から確率を指定してサンプルを1つ抽出する方法

using StatsBase
a = sample([2, 3, 5], ProbabilityWeights([0.2, 0.3, 0.5]))

using Distributions
a = rand(DiscreteNonParametric([2, 3, 5], [0.2, 0.3, 0.5]))

複数取り出す場合は添付画像。

github.com/genkuroki/publ…
#Julia言語 Juliaでappend!は配列に配列を追加するために使うことが普通で、配列に要素を追加するために普通使うのはpush!です。REPLで

julia> ?
help?> append!

julia> ?
help?> push!

を確認してみてください。REPLに ? で質問すると沢山のことが分かります。続く
#Julia言語 Pythonから来た人達がよくやっている失敗は

a = []
for i in 1:n
xを計算
push!(a, x)
end

というコードで長さnの1次元配列を作ること。

このaのeltype(a)はAnyになるので、aを使う計算が数十倍遅くなる。

具体的に他のどのような書き方が適切であるかはケースバイケース。続く
Read 10 tweets
14 Sep
#Julia言語 『数値計算の常識』という有名な本があって第5章のタイトルが「逆行列よさようなら」です。

Juliaでは計画行列Xによるバックスラッシュ演算

β̂ = X \ y

の一発で最小二乗法も計算できます。

github.com/genkuroki/publ…
#数楽 Xが縦長の行列で、β, y が縦ベクトルのときの、βの成分に関する連立一次方程式

Xβ = y

は一般に解を持たないのですが、Xβとyのユークリッド距離を最小にするようなβをβ̂と書いて、「解」とみなすのが最小二乗法の考え方です。その「解」を

β̂ = X \ y

と書くことは記号法的に自然です。
#Julia言語 Juliaがバックスラッシュ二項演算子で最小二乗法も可能にしていることの背景には以上のような数学が隠れています。
Read 13 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!

:(