2022年9月14日水曜日

Juliaで作って学ぶベイズ統計学のコードを実行してみました

Juliaで作って学ぶベイズ統計学のJulia コードを実行してみた結果を,GItHubで公開してみています.

  1.  Juliaの基礎
  2. 数値計算の基礎
  3. 確率計算の基礎
  4. 確率分布の基礎
  5. 統計モデリングと推論
  6. 勾配を利用した近似推論手法
  7. 発展的な統計モデル

Jupyter Notebookが完成し次第,随時アップロードしていく予定です.


2022年9月10日土曜日

JuliaをアップデートしてJupiter Notebookでも使えるようにする

 アップデートなので,すでにJuliaがインストールされている前提です.

Homebrewを使います.まずはターミナルから,以下のようしてJuliaをアップデートします.

% brew install julia --cask

以前は,以下のように cask install juliaだったのですが,エラーが出てしまいました.

% brew cask install julia

Error: `brew cask` is no longer a `brew` command. Use `brew <command> --cask` instead.

% brew cask install julia


アップデートが終わったら,Applicationフォルダに新しいJulia(以下の例では,最初に1.0がインストールされていて,新たに1.8をインストールした)のアイコンがあるので,アイコンをダブルクリックして立ち上げます.

その上で,"]"キーを押してパッケージモードに切り替えて,以下のように(add IJulia)IJuliaパッケージを追加します.

/Applications/Julia-1.8.app/Contents/Resources/julia/bin/julia ; exit;

% /Applications/Julia-1.8.app/Contents/Resources/julia/bin/julia ; exit;

               _

   _       _ _(_)_     |  Documentation: https://docs.julialang.org

  (_)     | (_) (_)    |

   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.

  | | | | | | |/ _` |  |

  | | |_| | | | (_| |  |  Version 1.8.1 (2022-09-06)

 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release

|__/                   |


(@v1.8) pkg> add IJulia

この↑例では省略していますが,add IJuliaを実行すると,ずらずらとインストールが始まります.

IJuliaパッケージの追加が終わった段階で,Available kernelsを確認すると,julia-1.8 が現れます.

% jupyter kernelspec list

Available kernels:

  julia-1.0    /Users/hide/Library/Jupyter/kernels/julia-1.0

  julia-1.8    /Users/hide/Library/Jupyter/kernels/julia-1.8

  python3      /usr/local/share/jupyter/kernels/python3

Jupyter Notebookを立ち上げて,インストールしたJuliaを使えるかどうか確認しておきます.


Julia(今回は1.8.1)が使えるようになっていれば成功です.

使わないカーネルや,存在しないカーネル(今回の例では,Julia 1.0.5)を削除するにはターミナルから以下のように入力します.なお,"KERNEL_NAME"には使わなくなった,もしくは存在しないカーネルの名前を書きます.

% jupyter kernelspec uninstall KERNEL_NAME


今回の例で,julia-1.0を削除すると以下のようになります.

% jupyter kernelspec uninstall julia-1.0  

Kernel specs to remove:

  julia-1.0           /Users/xxx/Library/Jupyter/kernels/julia-1.0

Remove 1 kernel specs [y/N]: y

[RemoveKernelSpec] Removed /Users/xxx/Library/Jupyter/kernels/julia-1.0


今回の例では,Juliaを1.0から1.8にアップデートしました.1.0でインストールしたパッケージは継承されないようなので,改めて追加する必要があります.以下の例は,とりあえず追加しておいたパッケージ達です.

(@v1.8) pkg> add CSV

(@v1.8) pkg> add Combinatorics

(@v1.8) pkg> add DataFrames

(@v1.8) pkg> add Distributions

(@v1.8) pkg> add JuMP

(@v1.8) pkg> add Plots

(@v1.8) pkg> add PyCall

(@v1.8) pkg> add PyPlot

(@v1.8) pkg> add RDatasets

(@v1.8) pkg> add StatsBase

(@v1.8) pkg> add StatsPlots

(@v1.8) pkg> add SumOfSquares

(@v1.8) pkg> add Statistics

(@v1.8) pkg> add Gadfly

(@v1.8) pkg> add LinearAlgebra

(@v1.8) pkg> add Optim


インストールしたパッケージを確認するには,以下のように"status"コマンドを実行します.

(@v1.8) pkg> status

Status `~/.julia/environments/v1.8/Project.toml`

  [336ed68f] CSV v0.10.4

  [861a8166] Combinatorics v1.0.2

  [a93c6f00] DataFrames v1.3.5

[31c24e10] Distributions v0.23.4

  [c91e804a] Gadfly v1.3.4

  [7073ff75] IJulia v1.23.3

  [4076af6c] JuMP v1.3.0

  [5424a776] Mamba v0.12.5

  [429524aa] Optim v1.7.2

  [91a5bcdd] Plots v1.32.1

  [438e738f] PyCall v1.94.1

  [d330b81b] PyPlot v2.11.0

  [ce6b1742] RDatasets v0.7.7

  [2913bbd2] StatsBase v0.33.21

[f3b207a7] StatsPlots v0.15.1

  [4b9e565b] SumOfSquares v0.6.2

  [37e2e46d] LinearAlgebra

  [10745b16] Statistics

Info Packages marked with and have new versions available, but those with cannot be upgraded. To see why use `status --outdated`