MacにMathematicaをインストールする方法
今回はMathematicaをインストールしていきます.WolframID,アクティベーションキーは既に取得していることを前提に説明します.
作成がまだの方はこちらから準備してください.
まず以下のURL先に移動してください.
https://account.wolfram.com/login/oauth2/sign-in
以下の画面に移動できたら登録したメールアドレスとパスワードを正しく入力してください.
USER PORTALに移動したら「Mathmatca Japanese Edition for students for Sites」を選択
一番下まで移動して,「ダウンロード」を選択
OSを必ず確認してください!!!
インストールイメージ(ファイル)をダウンロードしてください.
ダウンロードしたものを開いて(以下の画面になればOK)Mathematicaのインストールを開始してください.
インストールにはかなり時間がかかります...
Mathematicaの勉強には以下の書籍がおすすめです.
- 作者:榊原 進
- 発売日: 2010/03/24
- メディア: 単行本
M1 MacにTeXをインストールする方法
Mac Book Airを使用して4年間目となったので最近新しくMac Book Proを購入しました.
TeXを新しいpcにインストールする必要があったのでその手順を本ブログでご紹介します!
TeXのインストール方法
まず以下のURL先に移動しましょう!
https://tug.org/mactex/mactex-download.html
次に遷移後の画面の「MacTeX.pkg」をクリックしてください.
ダウンロードを許可するか聞かれるので「許可」を選択してください.
ダウンロードが終わったら(少し時間がかかる),インストーラをクリックして指示通りにソフトウェアのインストールを行ってください.
以下の画面になればOK!
Finderからアプリケーションを選択し,「TeX」フォルダの中にTeXShopがあることを確認しましょう.
不偏推定量ってなんですか?
今回は推定論で重要な不偏推定を中心に解説したいと思います.
不偏推定量
が不偏推定量であるとは以下が成立することを言います.
簡単な例として標本平均を考えてみます.
したがって,標本平均は母平均の不偏推定量となっていることが確認できます.を推定量のバイアスと言います.不偏推定量の場合,バイアスはゼロとなります.
バイアス・バリアンス分解
平均二乗誤差を最小化するためにはどうすれば良いのでしょうか?まず平均二乗誤差をいくつかのパーツに分けられないか検討してみましょう!
乗法公式より以下が成立します.
最後の等式の第1項,第2項はそれぞれ分散とバイアスの定義から明らかです.注意しておきたいのは第3項がゼロになるところです.より,
となり,確かにゼロとなることが確認できます.
したがって,不偏推定を考えればバイアスを持つことがなく,平均二乗誤差が小さくなることが期待されます!!!
一様最小分散不偏推定量
バイアスを持たないとき,平均二乗誤差は以下のように表せることが分かりました.
したがって,不偏推定量に限った場合を考えると平均二乗誤差を最小化する推定量はを最小化する推定量であることが分かります.不偏推定量の分散が他のどんな不偏推定量の分散以下となるとき,を一様最小分散不偏推定量 (Uniformly Minimum Variance Unbiased estimator/UMVU)といいます.
与えれれた不偏推定量がUMVUであるかどうかを確認する方法は以下の2つが知られています.
- クラーメル・ラオの不等式を用いる方法
- 完備十分統計量の理論を用いる方法
今回は1. のクラーメル・ラオの不等式を用いる方法をご紹介します!!!
フィッシャー情報量とクラーメル・ラオの不等式
クラーメル・ラオの不等式を説明するためにはまずフィッシャー情報量を定義する必要があります.フィッシャー情報量は,確率密度関数に対し以下で定義されます.
不偏推定量の分散とフィッシャー情報量の間にクラーメル・ラオの不等式と呼ばれる以下の不等式が成立します.
この不等式が意味することは,どんな不偏推定量の分散もフィシャー情報量行列の逆数よりも小さくすることはできないことを意味しています.
クラーメル・ラオの不等式の等号を満たす不偏推定量を有効推定量と呼ばれます.
したがって,
が成立するので,有効推定量はUMVUとなります.
以下の参考書がとても勉強になります.
- 作者:彰通, 竹村
- 発売日: 2020/11/10
- メディア: 単行本
- 作者:学, 黒木
- 発売日: 2020/01/29
- メディア: 単行本
ではまた!
確率母関数による二項分布の平均・分散の導出方法
二項分布の平均や分散を求める問題は,大学の試験だけでなく統計検定やE資格などにも出題される可能性があります.二項分布の平均や分散を定義に通りに求めようとすると, 計算がとても大変になりもっと簡単に求める方法はないの?と思うことがあります.
二項分布の平均・分散の導出方法は以下の3通りがあります.(他にもひょっとするとあるかもしれません)
- 平均や分散の定義にもとづいた導出
- モーメント母関数を用いた導出
- 確率母関数を用いた導出
今回は,確率母関数を用いた二項分布の平均・分散の導出方法をご紹介します!
確率母関数の定義とk次の階乗モーメント
整数値をとる確率変数の確率密度関数をとして,を任意の実数とするときの確率母関数は以下で定義されます.
確率母関数を用いることで,k次の階乗モーメントを定義することができます.
離散型確率分布の場合,次の階乗モーメントを用いることでモーメントが求めやすくなることがよくあります.次の階乗モーメントは以下のように表すことができます.
導出方法はとても簡単です.まずのときを考えると,
となります.
同様に考えると,
]であるため,ここにを代入すれば求めたい等式を得ることができます.
二項分布の平均の導出
は整数,とします.
このとき,二項分布の確率母関数は以下で表されます.
平均]は,の階乗モーメントで求めることができます.
したがって,
を得ることができます.
二項分布の分散の導出
分散の定義より,
です.はすでに求めているので,次の階乗モーメントを用いてさえ求めれば良いことがわかります.
であるので次の階乗モーメントは,
です.
したがって,分散は
となります.
確率母関数に関しては以下の書籍が参考になります.
- 作者:清水 邦夫
- 発売日: 2006/11/01
- メディア: 単行本
日本統計学会公式認定 統計検定準1級対応 統計学実践ワークブック
- 発売日: 2020/05/29
- メディア: 単行本
ではまた!
試験対策:Python3エンジニア認定基礎試験
Python3エンジニア認定基礎試験の試験対策としての記事を今回は書きます.
DIVE INTO EXAMから模擬試験を受けることができ,気になった問題や関連する話題について取り上げます.
問1 以下のプログラムを実行した際の出力結果を答えなさい.
name1,name2,name3,name4= '', 'suzuki','tanaka','sato' selected_name = name1 or name2 or name3 or name4 print(selected_name)
正解: suzuki
解説
論理演算子には and,or,notの3つがあります.
orは,aまたはbのどちらか一方でもTrueならTrue.両方ともFalseならFalseです.
>>> True and True True >>> True and False False
True,False以外の値が使われた時は,値の大きさに関わらず,orでは左項,andでは右項の式を返します.
>>> 4 or 5 4
問2 Pythonインタープリタにて以下のように入力した場合の出力結果を答えなさい.
>>> import reprlib >>> reprlib.repr(set('diveintocode'))
正解: "{'c', 'd', 'e', 'i', 'n', 'o', ...}"
解説
長い配列の最初の数個だけを表示させたい!
そんな場合にreprlibモジュールを使います.
reprlib.reprで出力の長さを制限することができます.
問3 対話モード時に,最後に表示した式を格納する変数を答えなさい.
正解: アンダーバー「_」です.
解説
アンダーバー「_」に最後の計算結果が代入されます.
>>> a="機械学習サイコー!!" >>> a '機械学習サイコー!!' >>> _ '機械学習サイコー!!'
問4 ビルドイン関数dir()はどんな機能を兼ね備えているか答えなさい.
正解: モジュールが定義している名前を確認することができる.
解説
下記のような使い方をすることでモジュールが定義している名前を確認できます.
dir(モジュール)
dir(パッケージ)
>>> import sys >>> dir(sys) ['__breakpointhook__', '__displayhook__', '__doc__', '__excepthook__', #以下省略します
sysモジュールが定義している名前を確認することができました.
問5 コンパイル済Pythonファイルの拡張子を答えなさい.
正解: pycです.
解説 PythonでもCやJavaのようにコンパイルすることが可能です.
print('コンパイルしてみますね')
上記のコードをtest.pyというファイルに保存します.
>>> python >>> import py_compile >>> py_compile.compile('test.py') '__pycache__/test.cpython-37.pyc'
test.cpython-37.pycが生成されました!
一番後ろの拡張子pycが見当たるでしょうか?
Pythonスクリプトを抜けて,
cd __pycache__ python test.cpython-37.pyc
と入力すると,
コンパイルしてみますね
と表示されます.
問6 sys.ps1は何を表しているか答えなさい.
正解: 一次プロントを定義した文字列です.
解説
pythonインタプリタの一次プロンプトは'>>>'です.
また,二次プロンプトは'...'です.
>>> import sys >>> sys.ps1 '>>> ' >>> sys.ps2 '... '
一次プロントは以下のように変更することが可能です.
>>>>>> sys.ps1='prompt:'
prompt:
'>>>'から'prompt:'へ変更することができました.
Python3エンジニア認定基礎試験のための指定教科書は下記です.
- 作者:Guido van Rossum
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/03/24
- メディア: 単行本(ソフトカバー)
https://www.udemy.com/share/1013hkAkcbc11UTXw=/
2月までにPython3エンジニア認定基礎試験に合格したいと思います.
ではまた!