EduBlocksはもともと入門教育用の学習ツールであり、Pandasやscikit-learnなどのライブラリが未実装のため(2023-01-18現在)、Numpyライブラリのみを限定的に用います。
Pythonではライブラリを使えば、要約統計量などを簡単に求めることができますが、本サイトでは原理を理解する観点からライブラリをできるだけ使用せずに実装します。
(1)中央値(メディアン)
〔概要〕リストのデータの中央値を求める。
[1, 3, 7, 8, 9]の場合は中央値は7、[1, 3, 8, 9]の場合は中央値は(3+8)÷2=5.5である。
〔技法〕リスト
〔実行例〕
〔プログラム〕
プロジェクトファイル(プログラムファイル):右クリックでダウンロードして、EduBlocksで読み込むことにより実行できます。
(2)最頻値(モード)
〔概要〕リストのデータの最頻値を求める。
〔技法〕リスト
〔実行例〕
〔プログラム〕
プロジェクトファイル(プログラムファイル):右クリックでダウンロードして、EduBlocksで読み込むことにより実行できます。
(3)中心極限定理
〔概要〕中心極限定理をシミュレートする。
参考:中心極限定理 – Wikipedia、中心極限定理を体感してみよう [数式少なめ]、8.正規分布(1)基本性質と中心極限定理、7-2 中心極限定理のシミュレーションによる確認
〔技法〕リスト
(a) 2個のサイコロの目の和
〔概要〕2個のサイコロの目の和の一覧表を表示します。
参考:書式指定ミニ言語仕様
〔技法〕行見出しと列見出し
〔実行例〕
〔プログラム〕
プロジェクトファイル(プログラムファイル):右クリックでダウンロードして、EduBlocksで読み込むことにより実行できます。
(b) 2個のサイコロの目の和の確率
〔概要〕2個のサイコロの目の和の確率を表示します。
〔技法〕リストの内包表記
〔実行例〕
〔プログラム〕
プロジェクトファイル(プログラムファイル):右クリックでダウンロードして、EduBlocksで読み込むことにより実行できます。
(c) 2個のサイコロの目の和のヒストグラム
〔概要〕2個のサイコロの目の和の出現頻度のヒストグラムを表示します。
〔技法〕Pygal
〔実行例〕
〔プログラム〕
プロジェクトファイル(プログラムファイル):右クリックでダウンロードして、EduBlocksで読み込むことにより実行できます。
(d) 平均と標準偏差【練習問題】
〔概要〕2個のサイコロの目の和の平均と標準偏差を求めてください。
〔実行例〕(省略)
〔プログラム〕(省略)
(e) 中心極限定理のシミュレーション【練習問題】
〔概要〕中心極限定理をシミュレートして表示してください。
2つのサイコロを振って、その和の出現回数をヒストグラムとして描画します。
〔実行例〕1万回試行した場合
〔プログラム〕(省略)
(4)標準正規分布表
〔概要〕標準正規分布表を表示します。
scipy.stats.normモジュール(参考:Pythonで学ぶ入門計量経済学)を使えば容易に実現できますが、ここではEduBlocksのみで実現するため以下の手順とします。したがって、プログラム学習の観点から言えば、正規分布ライブラリの使用ではなく、Webスクレイピングとデータの処理・加工を試す例としてとらえてください。
また、EduBlocksではWebスクレイピングで読み込んだ時に自動的に小数点以下4桁で四捨五入されるようですので注意してください。
1. EduBlocksではプログラムと同一の場所にファイルを置くことができないため(たとえばGoogle Colaboratoryであれば可能)、あらかじめ作成した以下に示す形のCSV形式の標準正規分布表をインターネット上に配置する。
2. Webスクレイピングにより読み込んだデータを2次元リストとして作成する。
3. 2次元リストのデータを表形式で表示する。
参考:正規分布表 – Wikipedia、標準正規分布表、統計的推定と統計的仮説検定 – 総務省統計局、8-8 正規分布
標準正規分布表:The Standardized Normal Distribution (Z table)
〔技法〕Webスクレイピング
〔実行例〕
〔プログラム〕
プロジェクトファイル(プログラムファイル):右クリックでダウンロードして、EduBlocksで読み込むことにより実行できます。
【練習問題】上側確率表
〔概要〕上側確率表を作成してください。
(5)log関数のグラフ表示
〔概要〕対数関数のグラフを表示します。
緑色は常用対数、青色は自然対数、赤色はlog2です。ただし、EduBlocksでは、log2は、Numpy.log2()、math.log2()ともに実装されていないようなので、底の変換公式を用いて計算しています。
〔実行例〕
〔プログラム〕
プロジェクトファイル(プログラムファイル):右クリックでダウンロードして、EduBlocksで読み込むことにより実行できます。
(6)cos2θ+sin2θ=1のグラフ表示
〔概要〕cos2θ+sin2θ=1のグラフを表示します。
次の写真は
の式のある解釈です。θにかかわらず「いつでも」と、ー∞~+∞まで「永遠」に続くというところがポイントです。
〔実行例〕
〔プログラム〕
プロジェクトファイル(プログラムファイル):右クリックでダウンロードして、EduBlocksで読み込むことにより実行できます。
(7)連続したハートの描画【練習問題】
〔概要〕連続したハートを描画します。
出典:不詳
LATEX
\begin{equation}
y = \sqrt{|{\sin{x}|}}+\sqrt{|{\cos{x}|}}
\end{equation}
\begin{equation}
y = \sqrt{|{\sin{x}|}}-\sqrt{|{\cos{x}|}}
\end{equation}
※留意事項
描画時に刻み幅を小さくすると上下のグラフが近づきますが、小さくし過ぎるとtrinketへの負荷が大きくなり応答が返ってこなくなります。
〔実行例〕
〔プログラム〕(省略)
〔補足〕
Google Colaboratoryの場合は、
plt.axes().set_aspect(“equal”)
と指定して、等軸の正方形のプロットとして描画することで、つぎのような表示ができます。
(8)パターンの列挙
1~9までの数字をそれぞれ1回だけすべて使った並びの列を求める。
〔技法〕itertools モジュール、permutations 関数、math.perm()
〔実行例〕
〔プログラム〕
Copyright (C) 2022 Easy Programming