※この記事は自分の学習と効率化のために、ChatGPTに書いてもらったものをベースとしています。
画像と赤文字で記載されている箇所などは私のコメントや感想部分です。
9.ノンパラメトリック統計法とアニメーション
ノンパラメトリック統計法の紹介
ノンパラメトリック統計法、または順位統計法は、データが特定の分布を持たない場合や、通常の仮説検定の仮定が満たされない場合に使用される統計的手法です。ここでは、特にウィルコクソン検定とマン・ホイットニーU検定に焦点を当てて紹介します。
1. ウィルコクソン検定:
2つのサンプルの中央値が同じかどうかを検定するための方法です。特に、関連する2つのサンプル間で差があるかどうかを検定する場合に使用されます。
2. マン・ホイットニーU検定:
2つの独立したサンプルの中央値が同じかどうかを検定するための方法です。ウィルコクソン検定が関連するサンプルを対象とするのに対して、この検定は独立したサンプルを対象とします。
インタラクティブなツールとアニメーションの基本紹介
matplotlibには、インタラクティブなプロットやアニメーションを作成するためのツールが含まれています。
1. インタラクティブなツール:
widgets: モジュールを使用すると、スライダーやボタンなどのインタラクティブな要素をプロットに追加することができます。
from matplotlib.widgets import Slider
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
plt.subplots_adjust(bottom=0.25)
t = np.arange(0.0, 1.0, 0.001)
a0 = 5
s = a0 * np.sin(2 * np.pi * t)
l, = plt.plot(t, s)
ax_slider = plt.axes([0.25, 0.1, 0.65, 0.03])
slider = Slider(ax_slider, 'Amplitude', 0.1, 10.0, valinit=a0)
def update(val):
amp = slider.val
l.set_ydata(amp * np.sin(2 * np.pi * t))
fig.canvas.draw_idle()
slider.on_changed(update)
plt.show()
2. アニメーションの作成:
animation: モジュールを使用すると、動的なアニメーションを作成することができます。
from matplotlib import animation
fig, ax = plt.subplots()
x = np.arange(0, 2 * np.pi, 0.01)
line, = ax.plot(x, np.sin(x))
def animate(i):
line.set_ydata(np.sin(x + i / 10.0))
return line,
ani = animation.FuncAnimation(fig, animate, interval=50, blit=True)
plt.show()
上記の例では、sin波が時間の経過とともに変化するアニメーションを作成しています。
この記事では、ノンパラメトリック統計法としてウィルコクソン検定とマン・ホイットニーU検定を紹介し、さらにmatplotlibを使用してインタラクティブなプロットとアニメーションの作成方法を学びました。