0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

データの分析方法を学ぶ会:原子分割とマルコフカーネル

Posted at

統計検定の一級にチャレンジしています。Qiitaに投稿されているように3か月で受かったというような話ではなく、3回も落ちています。なかなかレベルが上がらないので、四苦八苦しています。記憶力も悪く、丸暗記ができません。以下のような知識が役に立つのではと考え、メモしました。コメントいただけると助かります。

はじめに

統計学を学ぶ際にまず集合と確率を学ぶ。 集合である事象にはつぎのような用語がある。

全事象 $ \Omega $ 結果全体の集合
空事象 $ \phi $ 標本点をもたない空集合
$ A $ の余事象 $ A^c $ $ A $ が起きないという事象
$ A $ と $ B $ の和事象 $ A \cup B $ $ A $ または $ B $ が起きるという事象
$ A $ と $ B $ の積事象 $ A \cap B $ $ A $ かつ $ B $ が起きるという事象
$ A $ と $ B $ が排反 $ A \cap B = \phi $ であること

これは集合に関する統計検定一級の教科書の記述だ。また、確率$ P(\cdot) $に関しては 確率の定義を用いれば、次のような確率の性質も得ることができる。

定理 確率 $ P(\cdot) $ は以下を満たす:

1.空事象 $ \phi $ に対して $P(\phi) = 0$

2.$ A_1, A_2, \dots, A_n $ が互いに排反な事象ならば
$$P(A_1 \cup A_2 \cup \dots \cup A_n) = P(A_1) + P(A_2) + \dots + P(A_n)$$

3.任意の事象 $ A $ に対して $P(A^c) = 1 - P(A)$

4.任意の事象 $ A $ と $ B $ に対して$P(A \cup B) = P(A) + P(B) - P(A \cap B)$

と書かれている。しかし、実際のこれだけの記述から問題を解こうとしても、なかなかこのフレームワークに載せることは難しい。もっと、より現実的な方法はないだろうか?そこで出てくるのが測度論であるが、それはちょっと障壁が高い。そこで、測度論はよくわからなくとも、概要だけを理解しておけば、役に立ちそうなものはだんだろうか。そこで”最小のσ加法族と原子分割の利用"と題して、過去3年間の出題を整理してみたところ、半数近くがこの枠組みに入ってくることが分かった。

1. 最小のσ加法族と原子分割

$\Omega$ を有限(あるいは可算)原子の分割 ${A_i}_{i\in I}$ によって表す。任意の事象は原子の和で表され、確率は原子確率 $p_i=P(A_i)$ で決まる($p_i\ge0,\ \sum_i p_i=1$)。
2つの離散変数(あるいは事象の組)$(X,Y)$ では、原子は直積セル $(x,y)$ で、結合測度(結合分布)を
$$
\pi(x,y)\ge0,\quad \sum_y \pi(x,y)=\mu(x),\quad \sum_x \pi(x,y)=\nu(y)
$$
と書く。ここで $\mu,\nu$ は周辺。可算なら以降は総和、連続なら積分に置換すればよい。原子分割は、すべての事象をうまく重なり合わないように分割して、各確率の総和が1になるように分割したもので、排反事象も含む。

3事象の例

確率空間の事象 $A, B, C$ の確率がそれぞれ

$$ P(A) = P(B) = P(C) = \frac{3}{4} \tag{1} $$

であるとする。

事象 $A, B, C$ が互いに独立とは限らないとき、$P(A \cap B \cap C)$ の取り得る値の範囲はつぎのようになる。

三事象の原子を

$$
\begin{align*}
&E_1=ABC,\
&E_2=ABC^c,\
&E_3=AB^cC,\
&E_4=A^cBC,\
&E_5=AB^cC^c,\
&E_6=A^cBC^c,\
&E_7=A^cB^cC,\
&E_8=A^cB^cC^c
\end{align*}
$$

とし,$p_i=P(E_i)\ (\ge0)$,$\sum_{i=1}^8p_i=1$ と置く。すると

$$
\begin{align*}
&P(A)=p_1+p_2+p_3+p_5,\quad\
&P(B)=p_1+p_2+p_4+p_6,\
&P(C)=p_1+p_3+p_4+p_7,\quad\
&P(ABC)=p_1.
\end{align*}
$$

上限は包含から直ちに
$$
P(ABC)=p_1\le \min\lbrace P(A),P(B),P(C)\rbrace.
$$

下限は $S:=P(A)+P(B)+P(C)$ を用いて導く。上の和から
$$
S=3p_1+2(p_2+p_3+p_4)+(p_5+p_6+p_7).
$$
一方,$1=\sum_{i=1}^8p_i=p_1+(p_2+p_3+p_4)+(p_5+p_6+p_7)+p_8$ より
$$
(p_2+p_3+p_4)+(p_5+p_6+p_7)\le 1-p_1.
$$
$S$ を固定して $p_1$ を最小化するには,係数が大きい項にできるだけ割り当てればよいので
$(p_2+p_3+p_4)=1-p_1,\ (p_5+p_6+p_7)=0$ とすると
$$
S\le 3p_1+2(1-p_1)=p_1+2 \ \Rightarrow\ p_1\ge S-2.
$$
また $p_1\ge 0$ だから
$$
P(ABC)\ge \max\lbrace S-2,\ 0\rbrace.
$$

以上より Fréchet 境界
$$
\max\lbrace P(A)+P(B)+P(C)-2,\ 0\rbrace\ \le\ P(ABC)\ \le\ \min\lbrace P(A),P(B),P(C)\rbrace.
$$

本問では $P(A)=P(B)=P(C)=\tfrac34$ なので
$$
\tfrac14\ \le\ P(ABC)\ \le\ \tfrac34.
$$

(達成例:下限は $p_1=\tfrac14,\ p_2=p_3=p_4=\tfrac14,\ \text{他}=0$。上限は $A=B=C$ とすれば $p_1=\tfrac34$。)

これに、さらに条件

$$ P(A \cap B) = P(A)P(B), P(A \cap C) = P(A)P(C), P(B \cap C) = P(B)P(C) $$

を追加したとき、$P(A \cap B \cap C)$ の取り得る値の範囲はつぎのように変わる。

$$
\begin{align*}
&E_1=ABC,\
&E_2=ABC^c,\
&E_3=AB^cC,\
&E_4=A^cBC,\
&E_5=AB^cC^c,\
&E_6=A^cBC^c,\
&E_7=A^cB^cC,\
&E_8=A^cB^cC^c\
&p_i=P(E_i)\ (\ge0)
\end{align*}
$$

条件より $P(A)=P(B)=P(C)=\tfrac34$、

対独立で $P(AB)=P(AC)=P(BC)=\left(\tfrac34\right)^2=\tfrac{9}{16}$。

$x:=P(ABC)=p_1$ とおくと
$$
\begin{align*}
p_2&=P(AB)-P(ABC)=\tfrac{9}{16}-x,\
p_3&=P(AC)-P(ABC)=\tfrac{9}{16}-x,\
p_4&=P(BC)-P(ABC)=\tfrac{9}{16}-x,\
p_5&=P(A)-P(AB)-P(AC)+P(ABC)=x-\tfrac{3}{8},\
p_6&=x-\tfrac{3}{8},\qquad\
p_7&=x-\tfrac{3}{8},\
p_8&=1-\sum_{i=1}^7 p_i
=1-\Bigl[x+3\Bigl(\tfrac{9}{16}-x\Bigr)+3\Bigl(x-\tfrac{3}{8}\Bigr)\Bigr]
=\tfrac{7}{16}-x.
\end{align*}
$$

非負性 $p_i\ge0$ から
$$
x\ge \tfrac{3}{8},\qquad x\le \tfrac{9}{16},\qquad x\le \tfrac{7}{16}.
$$
よって最終的に
$$
\tfrac{3}{8}\ \le\ P(A\cap B\cap C)=x\ \le\ \tfrac{7}{16}.
$$

(達成例:$x=\tfrac{3}{8}$ では $p_5=p_6=p_7=0,\ p_2=p_3=p_4=\tfrac{3}{16},\ p_8=\tfrac{1}{16}$。$x=\tfrac{7}{16}$ では $p_8=0,\ p_2=p_3=p_4=\tfrac{1}{8},\ p_5=p_6=p_7=\tfrac{1}{16}$。)

2. 測度

測度論は、事象(集合として得られた情報)を実数空間などへ写しても矛盾なく「確率」で扱えるようにする枠組みである。

測度(measure)

定義

可測空間 $(\Omega,\mathcal F)$ の各集合に「大きさ(重さ)」を割り当てる写像
$$
\mu:\mathcal F\to[0,\infty]
$$
で、次を満たすものが測度

  1. $\mu(\varnothing)=0$
  2. ${A_i}$ が互いに排反なら($A_i\cap A_j=\varnothing$)
    $$
    \mu\Big(\bigcup_{i=1}^\infty A_i\Big)=\sum_{i=1}^\infty \mu(A_i)\quad\text{(可算加法性)}
    $$

与えられた集合族 $\mathcal C$ を含む最小の $\sigma$ 加法族を $\sigma(\mathcal C)$ とし、必要に応じてそれを採用

ここで、標本空間 $\Omega$を得られうる結果の全体とし 、$\mathcal F$は、観測したい事象をすべて含む 最小の σ–加法族 。$A_i$ は、標本空間 $\Omega$ の部分集合で、$\sigma$加法族 $\mathcal F$ の要素(= 可測集合・事象)。与えられた集合族 $\mathcal C$ を含む最小の $\sigma$ 加法族を $\sigma(\mathcal C)$ とし、必要に応じてそれを採用

  1. $\Omega\in\mathcal F,\ \varnothing\in\mathcal F$
  2. 補集合に閉じる:$A\in\mathcal F\Rightarrow A^c\in\mathcal F$
  3. 可算和に閉じる:$A_1,A_2,\dots\in\mathcal F\Rightarrow \bigcup_{i=1}^\infty A_i\in\mathcal F$

(可算交わりも自動的に閉じる:De Morgan より。)

測度を備えた三つ組 $(\Omega,\mathcal F,\mu)$ が測度空間。$\mu(\Omega)=1$ なら確率測度、すなわち確率空間 $(\Omega,\mathcal F,P)$。つまり、測度空間 $(\Omega,\mathcal F,\mu)$は測る「対象(集合族)」だけを決めた可測空間 $(\Omega,\mathcal F)$に「大きさ」を与えたもの。

代表例

  • 数え上げ測度(counting)
    $\Omega$ 任意、$\mu(A)=#A$。離散確率の土台。
  • 確率測度
    $P(A)$ がそのまま測度。例:サイコロで $P({1})=1/6$。
  • ルベーグ測度($\mathbb R$ の長さ)
    区間の長さを与える:$\mu([a,b])=b-a$。面積・体積に一般化可能。
  • ディラック測度 $\delta_x$
    $\delta_x(A)=1$ if $x\in A$, $0$ otherwise(点質量)。
  • 重み付き確率
    離散 $\Omega={x_i}$ に重み $w_i\ge0,\ \sum w_i=1$ を与え $\mu(A)=\sum_{x_i\in A} w_i$。

基本例

  • 可算離散:$\Omega={1,2,\dots}$、$\mathcal F=2^\Omega$、$\mu(A)=\sum_{i\in A} w_i$($w_i\ge0$)。
  • ルベーグ測度:$\Omega=\mathbb R^d$、$\mathcal F=$ ボレル集合族、$\mu=$ ルベーグ測度(長さ・面積・体積の一般化)。

よく使う性質(最小限)

  • 完備性:$\mu$-零集合の部分集合も可測にする(拡大)。
  • $\sigma$-有限:$\Omega$ を有限測度の可算合併で覆える(積分・Fubiniに便利)。

基準測度 $\lambda$ の役割

  • 「密度」を定義するための基準
    測度は本来 $\mu(A)$ という形でしか与えらない。密度 $f$ は
    $$\mu(A)=\int_A fd\lambda\qquad(\mu\ll\lambda)$$
    と表すために、まず比較対象=基準測度 $\lambda$ が必要(Radon–Nikodym)。

  • 離散/連続/混合を一元化
    離散なら計数測度 $\lambda=$、連続ならルベーグ測度、混合ならそれらの和。
    こうすると pmf も pdf も
    $$f=\frac{d\mu}{d\lambda}$$
    という同じ記法で扱える。

  • 一意性と可換な演算の保証
    $f=d\mu/d\lambda$ は $\lambda$-零集合を除いて一意。これにより、期待値・尤度、尤度比
    $$\frac{d\mu_1}{d\mu_0}=\frac{d\mu_1/d\lambda}{d\mu_0/d\lambda}$$
    などの計算が安定する。

  • 変数変換の正当化: $Y=T(X)$ の密度変換は
    $$f_Y(y)=f_X(T^{-1}(y)),\bigl|\det D T^{-1}(y)\bigr|$$
    と $T^{-1}$ のヤコビアンを明示($J_{T^{-1}}$ = $D T^{-1}$)。
    あるいは $x=T^{-1}(y)$ として $f_Y(y)=f_X(x),|\det D T^{-1}(y)|$。

  • 「密度は基準依存」への注意
    $\lambda' = c\lambda$ に替えると密度は $f' = f/c$。
    つまり密度は数値としては基準依存、しかし $\mu$ 自体(積分値)は不変。

3. マルコフカーネル

可測空間→測度→基準測度と密度に沿って、マルコフカーネルを最小構成で説明。

  • マルコフカーネルは可測空間間の「条件付き測度の写像」で、測度空間をつなぐ道具:$d\pi(x,y)=K(dy\mid x)\mu(dx)$。

定義(可測空間どうし)

可測空間 $(\mathcal X,\mathcal A)$ と $(\mathcal Y,\mathcal B)$ に対し、写像
$$
K:\ \mathcal X\times\mathcal B\to[0,1]
$$
が次を満たすとき マルコフカーネル(確率核)と呼ぶ。

(1) 各 $x\in\mathcal X$ で $B\mapsto K(B\mid x)$ は $(\mathcal Y,\mathcal B)$ 上の確率測度。

(2) 各 $B\in\mathcal B$ で $x\mapsto K(B\mid x)$ は $\mathcal A$-可測。

密度(基準測度 $\lambda$ を使う表現、$K(\cdot\mid x)\ll\lambda$(通常 $\sigma$-有限))

  • 基準測度 $\lambda$(通常ルベーグ)。各 $x$ で $K(\cdot\mid x)\ll\lambda$ とすると
    $$
    K(B\mid x)=\int_B k(y\mid x)d\lambda(y),\quad k=\frac{dK(\cdot\mid x)}{d\lambda}.
    $$
  • $\mu$は$X$ の分布で 、$f_X$ は基準測度($\lambda$)に関する$X$の密度
    $$
    f_Y(y)=\int k(y\mid x)f_X(x)dx.
    $$
  • 結合は
    $$
    d\pi(x,y)=K(dy\mid x)\mu(dx) \quad\text{密度があれば } f_{X,Y}(x,y)=k(y\mid x)f_X(x).
    $$
    2つの「作用」=作用素としての顔
  1. 測度への右作用(分布を分布へ)
    $$
    (\mu K)(B)=\int_{\mathcal X} K(B\mid x)\mu(dx).
    $$
    $X\sim\mu$ に核 $K$ を合成すると $Y$ の分布 $\mu K$ が得られる(混合・周辺化)。

  2. 関数への左作用(関数を関数へ)
    $$
    (Kf)(x)=\int_{\mathcal Y} f(y)K(dy\mid x).
    $$
    塔則:
    $$
    \int fd(\mu K)=\int (Kf)d\mu.
    $$

結合=周辺×核(条件付確率の一般形)

$X\sim\mu$ と核 $K$ から、結合測度
$$
d\pi(x,y)=K(dy\mid x)\mu(dx)\quad(\pi=\mu K)
$$
が作れる。正則条件付分布が存在する状況では $K(B\mid x)=P(Y\in B\mid X=x)$。
独立は $K(\cdot\mid x)\equiv \nu$($x$ に依存しない)で $\pi=\mu\otimes\nu$。

離散と連続の最小例

  • 離散:$X\in{x_i}{i=1}^m , Y\in{y_j}{j=1}^n$。
    $K_{ij}=P(Y=y_j\mid X=x_i)$(行和1の行列)、$p_Y=p_XK$。
  • 連続:$K(dy\mid x)=k(y\mid x)dy$、$X\sim\mu$。
    • 一般形:$$f_Y(y)=\int k(y\mid x)\mu(dx)\quad\text{($X$ が密度をもたない一般測度の場合)}$$
    • $X$ も密度 $f_X$ を持つなら:
      $$
      f_Y(y)=\int k(y\mid x)f_X(x)dx.
      $$

特殊核

  • ディラック核(決定的写像 $Y=g(X)$):$K(dy\mid x)=\delta_{g(x)}(dy)$。
  • 合成(Chapman–Kolmogorov):核 $K:\mathcal X\to\mathcal Y$,$L:\mathcal Y\to\mathcal Z$ で
    $$(L\circ K)(C\mid x)=\int_\mathcal{Y} L(C\mid y)K(dy\mid x).$$

要点:カーネルは「$x$ を入れると $Y$ の確率測度(密度なら $k(\cdot\mid x)$)を返す装置」。基準測度 $\lambda$ を入れると密度表示で統一でき、$\pi=\mu K$ と塔則で混合・周辺化・独立・積分交換を一貫処理できる。

補足:

$(\mu K)(B)$ の意味と記法の構成

これは、マルコフカーネル $K$ が、元の測度 $\mu$ を変換してできた新しい測度を、集合 $B$ 上で評価した値、すなわち新しい測度による集合 $B$ の大きさを表す。

  1. 新しい測度 $\mu K$

まず、$\boldsymbol{\mu K}$ という部分は、元の測度 $\mu$ とマルコフカーネル $K$ の合成によって得られた新しい測度(確率分布)の名前。

  • マルコフカーネル $K$ は、「$x$ が与えられたときの $Y$ の条件付き分布 $K(\cdot \mid x)$」を返す。
  • 測度 $\mu$ は、この $x$ が発生する確率(重み)を表す。

この $\mu K$ は、合成測度や周辺測度と呼ばれるもので、次の式で定義される。

$$
(\mu K)(B) = \int_{\mathcal X} K(B \mid x) \mu(dx)
$$

これは、$\mathcal X$ 上の各点 $x$ における条件付き確率 $K(B \mid x)$ を、$\mu$ という重みで平均(積分)していることを意味する。結果として、$Y$ の空間 $\mathcal Y$ 上の測度(分布)が得られる。

  1. $B$:可測集合

括弧の外側の $\boldsymbol{(B)}$ は、その新しい測度 $\mu K$ が作用する対象、すなわち可測集合(事象)を表す。

新しい測度 $\mu K$ は、$\mathcal Y$ 上の $\sigma$-加法族 $\mathcal B$ の要素(集合)に対して値を返す。したがって、$(\mu K)(B)$ は、新しい測度 $\mu K$ の下での集合 $B$ の測度値だ。

順番と括弧の役割

この記法は、$\mu$(測度)と $K$(カーネル)を作用素として捉えると理解しやすい。

  1. 測度への作用(右作用)

マルコフカーネル $K$ を作用素と見たとき、それは測度の空間から測度の空間への写像として機能する。

$$
K: \quad \text{測度空間}(\mathcal X) \to \text{測度空間}(\mathcal Y)
$$

$\mu K$ という順番は、$\mu$ に $K$ が「右から作用する」ことを示しており、線形代数の行列の掛け算に近い発想だ。

  • 元の分布 $\mu$(ベクトル)
  • 変換 $K$(行列、遷移核)
  • 新しい分布 $\mu K$(結果のベクトル)

$$
(\text{元の分布}) \times (\text{変換}) = (\text{新しい分布})
$$

  1. 括弧の役割

$(\mu K)(B)$ の括弧は、「関数とその引数」の関係を明確に示している。

  • $\mu K$ は、一つの新しい関数(測度)の名前。
  • この関数 $\mu K$ の引数(入力)が $B$。
# ルベーグ測度の直観を掴むための最小コード(可視化つき)
# 方針:実数直線上の「有限個の区間の和集合」の“長さ”を測る関数 m(U) を実装し、
# 代表的な性質(区間の長さ、一致加法性、平行移動不変、単調性、点の測度0、
# カントール集合の長さ→0、[0,1]内有理数の ε 被覆)を確認します。

from fractions import Fraction
from math import isclose
import itertools
import numpy as np
import matplotlib.pyplot as plt

# ---------- 基本:有限個の半開区間 [a,b) の和集合の長さ ----------
def merge_intervals(intervals):
    """半開区間 [a,b) のリストをマージして互いに交わらない形に整える。"""
    ints = [(float(a), float(b)) for a,b in intervals if float(a) < float(b)]
    if not ints:
        return []
    ints.sort()
    merged = [ints[0]]
    for a,b in ints[1:]:
        la, lb = merged[-1]
        if a <= lb:  # 重なり or 接触([a,b)なので a==lb は重なりなし→そのまま連結してOK)
            merged[-1] = (la, max(lb, b))
        else:
            merged.append((a,b))
    return merged

def measure_union(intervals):
    """有限個の半開区間 [a,b) の和集合のルベーグ測度(=長さ)"""
    merged = merge_intervals(intervals)
    return sum(b-a for a,b in merged)

# ---------- 1) 区間の長さ ----------
I = [(0, 1.25)]
m_I = measure_union(I)

# ---------- 2) 可算(ここでは有限)加法性(互いに素な区間の和は長さの和に等しい)----------
J = [(0,0.5), (0.5, 0.75), (0.75, 1.25)]
m_J = measure_union(J)

additivity_ok = isclose(m_I, m_J, rel_tol=1e-12, abs_tol=1e-12)

# ---------- 3) 平行移動不変性 m(A+t)=m(A) ----------
shift = 3.7
I_shift = [(a+shift, b+shift) for a,b in I]

m_I_shift = measure_union(I_shift)

shift_ok = isclose(m_I, m_I_shift, rel_tol=1e-12, abs_tol=1e-12)

# ---------- 4) 単調性 A⊂B ⇒ m(A)≤m(B) ----------
A = [(0.1, 0.4), (0.6, 0.7)]
B = [(0, 1)]
mono_ok = measure_union(A) <= measure_union(B)

# ---------- 5) 点の測度 0(有限点集合の測度は0)----------
points = [(0.3, 0.3), (0.3, 0.3), (1.0, 1.0)]
m_points = measure_union(points)  # 半開区間 [a,a) は空集合として 0
points_ok = (m_points == 0.0)

# ---------- 6) カントール集合:長さ→0(n段目の残り長さ=(2/3)^n)----------
def cantor_intervals(n):
    """n段目に残る区間列(半開 [a,b) の列)を返す。"""
    ints = [(0.0,1.0)]
    for _ in range(n):
        nxt = []
        for a,b in ints:
            L = (b - a)/3.0
            nxt.append((a, a+L))         # 左の三分の一
            nxt.append((b - L, b))       # 右の三分の一
        ints = nxt
    return ints

cantor_ns = list(range(0,8))
cantor_lengths = [measure_union(cantor_intervals(n)) for n in cantor_ns]  # 理論値は (2/3)^n

# ---------- 7) [0,1] 内の有理数の ε-被覆(有限版の直観実験)----------
# 0〜1 の最初の N 個の既約分数(分母上限 Q)を取り、幅を合計 < ε となるように被覆。
def rationals_in_01(Q):
    S = set()
    for q in range(1, Q+1):
        for p in range(0, q+1):
            r = Fraction(p, q)
            if 0 <= r <= 1:
                S.add(r)  # 自然に既約化される
    return sorted(S)

Q = 12
rats = rationals_in_01(Q)
N = len(rats)

# 幅の割当:各 r_k に対し長さ ε / 2^{k+1} の開区間で被覆(総和 ≤ ε/2)
eps = 1e-3
intervals_cover = []
for k, r in enumerate(rats, start=1):
    w = eps / (2(k+1))
    c = float(r)
    intervals_cover.append((c - w/2, c + w/2))

cover_length = measure_union(intervals_cover)

# 表示まとめ
print("=== ルベーグ測度の直観デモ(有限区間の長さ) ===")
print(f"1) 区間の長さ: m([0,1.25)) = {m_I:.6f}")
print(f"2) 一致加法性(分割しても総長さ不変): m(J) = {m_J:.6f}  -> OK? {additivity_ok}")
print(f"3) 平行移動不変: m(I+{shift}) = {m_I_shift:.6f}  -> OK? {shift_ok}")
print(f"4) 単調性: m(A) <= m(B)  -> {measure_union(A):.6f} <= {measure_union(B):.6f}  -> OK? {mono_ok}")
print(f"5) 点(有限個)の測度: m(points) = {m_points:.6e}  -> OK? {points_ok}")
print("6) カントール集合(n段目の残り長さ):")
for n, L in zip(cantor_ns, cantor_lengths):
    print(f"   n={n}: 長さ ≈ {L:.6f}  (理論値 (2/3)^n ≈ { (2/3)n :.6f}")
print("(図:n と 残り長さをプロット)")
# プロット(n vs 残り長さ)
plt.figure()
plt.plot(cantor_ns, cantor_lengths, marker='o')
plt.title("Cantor set: remaining length at step n")
plt.xlabel("n (iteration)")
plt.ylabel("length")
plt.grid(True)
plt.show()
print("\n7) [0,1]内の有理数の ε-被覆(有限版):")
print(f"   Q={Q} で個数 N={N} の有理数を幅の和 ≈ {cover_length:.6e} < ε={eps} で被覆。")
print("   直観:可算集合は、“合計の幅”を小さく抑えながら、その集合全体を区間で包み込める → ルベーグ測度 0 ")

=== ルベーグ測度の直観デモ(有限区間の長さ) ===

  1. 区間の長さ: m([0,1.25)) = 1.250000
  2. 一致加法性(分割しても総長さ不変): m(J) = 1.250000 -> OK? True
  3. 平行移動不変: m(I+3.7) = 1.250000 -> OK? True
  4. 単調性: m(A) <= m(B) -> 0.400000 <= 1.000000 -> OK? True
  5. 点(有限個)の測度: m(points) = 0.000000e+00 -> OK? True
  6. カントール集合(n段目の残り長さ):
    n=0: 長さ ≈ 1.000000 (理論値 (2/3)^n ≈ 1.000000)
    n=1: 長さ ≈ 0.666667 (理論値 (2/3)^n ≈ 0.666667)
    n=2: 長さ ≈ 0.444444 (理論値 (2/3)^n ≈ 0.444444)
    n=3: 長さ ≈ 0.296296 (理論値 (2/3)^n ≈ 0.296296)
    n=4: 長さ ≈ 0.197531 (理論値 (2/3)^n ≈ 0.197531)
    n=5: 長さ ≈ 0.131687 (理論値 (2/3)^n ≈ 0.131687)
    n=6: 長さ ≈ 0.087791 (理論値 (2/3)^n ≈ 0.087791)
    n=7: 長さ ≈ 0.058528 (理論値 (2/3)^n ≈ 0.058528)
    (図:n と 残り長さをプロット)

image.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?