見出し画像

「線形代数の半歩先」をPythonで写経 ~ 6章 クープマン作用素理論、動的モード分解

第5部「ならべた数のさらなる発展」

書籍の著者 大久保 潤 先生


この記事は、書籍「線形代数の半歩先」の 第5部「ならべた数のさらなる発展」に掲載の「非線形系における線形性」に関する Python写経活動のドキュメンタリーです。

第5部も第4部に引き続き「時間発展方程式」を取り扱います。
この記事では、第26話、第27話の クープマンのつく用語 の理解から始まるChatGPTとの会話にて、突如出現した 動的モード分解(DMD) へと進んでまいります。

DMDは「非線形」の時間発展方程式を「線形的」に扱える手法の一つです。
数学素人なので、どうぞお手柔らかにお願いいたします。

ChatGPTと学ぶ「線形代数の半歩先」劇場を引き続きお楽しみください!

では書籍とChatGPTを開いて線形代数の旅に出発です🚀

いろいろな表情のAIのキャラクター (考える):「いらすとや」さんより

はじめに


このブログシリーズは、書籍「線形代数の半歩先 データサイエンス・機械学習に挑む前の30話」(講談社サイエンティフィク、「テキスト」と呼びます)の Python 写経の実践を通じて得た個人的な知見を書きます。

書籍の紹介と引用表記はリンク先の記事に掲載しています。

第5部 ならべた数のさらなる発展


1.前章の振り返り

第5部は私にとって非常に難解でして、部全体を理解することは無理だと初期段階で感じました。
でもせっかく読書するなら1つくらいはチャレンジして身につけたいと思案して、浮かんだテーマは、

「時間発展方程式とそのデータを使って未来予測がしたい!」

25.1 節のタイトル「データから、少し先の未来を予測する」を見て、シンプルにそう思いました。
予測ってデータサイエンスっぽいですもの(個人の見解です)。

取り組みテーマを絞り込んでしまえばテキストを読めるのではないか、淡い期待をもってテキストを読みました。
ただどれだけ読み込んでも(読み込みレベルには個人差があります…)、私には「未来予測」の方程式を見つけることができませんでした。
(著者の先生、ごめんなさい)

もはやChatGPTにお願いするしかない、ですよね

では、この記事のコードで利用するライブラリのインポートからスタートしましょう。

### インポート

# 数値計算
import numpy as np

# 数学演算用の個別関数
from scipy.integrate import solve_ivp   # 常微分方程式の求解

# 動的モード分解(DMD)
from pydmd import DMD
from pydmd.plotter import plot_summary

# 可視化
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'Meiryo'  # または import japanize_matplotlib

2.ChatGPTと一緒に未来予測を探る

前回記事同様に、ChatGPTとの会話をドキュメンタリー風に書きます。
ChatGPT画面の画像は、会話の一部分を切り取った「抜粋」です。

(1)はじまり

ひとまず未来予測に関係しそうな用語をテキストから拾い出して、質問を投げます。

ChatGPT画面

こ、これは何を言ってるんだ…難しい用語の嵐について行けねぇ…
素人でも理解できるように教えてもらおう!

ChatGPT画面

いい感じにまとまってます!
後で見返したいから、あれを所望しましょう!

ChatGPT画面

💡 Tips:Markdown 形式で回答をもらうと・・・

私は 書籍の学びのノートをエディタ「VS Code」で作成しています。
VS Code は通常、プログラミング・コードを書くアプリとして使われます。
私は VS code で Jupyter Notebook ファイル形式を用いて、数式・文章、Pythonコードの両方を1ファイルでまとめています。
重宝しているのが、数式・文章は Markdown形式 で書けること。
ChatGPTの回答をノートにコピペしたい場合には、ChatGPTに「Markdown形式の出力」を所望します。

VS Code 画面:Markdown 部分の抜粋です。

VS Code 画面:Python コード部分の抜粋です。

「クープマン関連の用語をざっくり解説!」は後ほど共有いたします。

【2026年1月26日追記】
現時点のChatGPTでは、回答左下の「コピーする」アイコン押下で、マークダウンに似たテキストをコピーできます。

◆ ◆ ◆

(2)クープマン理論の深堀り

学びの会話のときは高い頻度で、ChatGPTが回答の最後に「次のステップ」を提案してくれます。
今回は「理解のおすすめステップ」を提案してくれました。
ひとまず提案に乗っかります!

ChatGPT画面

これだ!初学者にとって嬉しい解説をいただけました!

但しこの回答は、文章による説明とともに、Pythonのコード例を含んでいます。
コピペ利用するための Markdown 形式出力がうまく作動しないかもしれません。

💡 Tips:Markdown 形式で回答をもらうときの注意点

回答に文章とコードが混在するとき、ChatGPTは Markdown形式の出力を誤ることがあります。
■ 誤りの例

ChatGPT画面

コードに続く文章が、Markdown 形式エリアから漏れてしまっています。
この状態ではコピペが面倒です。。。

■ 対策
Jupyter Notebook 形式で出力してもらいます!

ChatGPT画面

Markdown形式よりも手直し箇所が多いですが、全文をコピペできるのでよしとします。
(手直し箇所例)
インライン数式の囲み文字が消えてしまい、ただの文字列になる
 $${g(x)}$$ → g(x)

「クープマン理論の理解ステップ【ステップバイステップ解説】」は後ほど共有いたします。

◆ ◆ ◆

(3)動的モード分解(DMD)へ

このステップバイステップ解説の中には、次の「DMD:時系列データから、クープマンモードと固有値を数値的に推定する方法」が含まれていました。

ChatGPT画面

「ファン・デル・ポールの時系列に DMD を適用してみる」がやりたいです!

ChatGPT画面

◆ ◆ ◆

(4)Pythonで実装する

コード作成の前に実装概要が表示されました。
続けて実装するかどうかをChatGPTが確認してきたので、実装を依頼します。

ChatGPT画面

ChatGPTがDMDのPythonコードを作ってくれたので、自環境で動かして、表示されたチャートを眺めます。
ChatGPTはときどき誤ったコードを書くので、コードの適否を確認します。

ChatGPT画面

ChatGPTの自己点検によるとコードは適切なようです。
しかも、コードを見るポイントを教えてくれました!

「コード実行結果の見るべきポイント」は後ほど共有いたします。

◆ ◆ ◆

(5)会話のまとめ

以上の会話でひとまず「ファン・デル・ポル方程式に DMD を適用すること」まで進めることができました。

ひとまず、DMDのコードを動かしたり改造したりして、DMDを適用する意味合いを探ることにしましょう。

3.ファン・デル・ポル方程式にDMDを適用する

DMD は動的モード分解(Dynamic Mode Decomposition)のことです。ChatGPT が書いたコードを手がかりにして、テキストの図 25.1 に似せた「時間範囲 $${[0, 3]}$$」の可視化コードに改造しました。

### ✅ ファン・デル・ポール方程式に DMD を適用する

## ファン・デル・ポール方程式の定義
# 非線形の減衰の強さパラメータ(書籍では 𝜖)
mu = 1.0
# ファン・デル・ポール方程式関数の定義:solve_ivpの目的関数
def vdp(t, y):
    x1, x2 = y
    dx1 = x2
    dx2 = mu * x2 * (1 - x1**2) - x1
    return [dx1, dx2]

## 時系列データの生成:ファン・デル・ポール方程式の数値解
# 設定
t_span = (0, 3)    # 時間範囲
delta_t = 0.1      # 時間間隔 Δt
t_eval = np.arange(*t_span, delta_t)
y0 = [0.2, 0.8]    # データの初期値
# ファン・デル・ポール方程式の求解
sol = solve_ivp(vdp, t_span, y0, t_eval=t_eval)
# 解の取得
X = sol.y          # 解:x1,x2
time = sol.t       # 時間間隔

## DMD の適用
# DMDの実行
dmd = DMD(svd_rank=2)
dmd.fit(X)
# 結果の表示
print("DMD 固有値:", dmd.eigs)

## 描画処理
# 描画領域の設定
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4))

## モードのプロット
ax1.plot(np.real(dmd.eigs), np.imag(dmd.eigs), 'o')
ax1.set(title='DMD 固有値 (複素平面)', xlabel="実部", ylabel="虚部")

## 再構成結果との比較
# x1の元データのデータ点の描画
ax2.plot(time, X[0], 'o', color='tab:blue', label="$x_1$: 元データ")
# x1のDMDによる再構成結果の点線の描画
ax2.plot(time, dmd.reconstructed_data.real[0], '--', lw=3, color='navy',
         label="$x_1$: DMD")
# x2の元データのデータ点の描画
ax2.plot(time, X[1], 'o', color='tab:orange', label="$x_2$: 元データ")
# x2のDMDによる再構成結果の点線の描画
ax2.plot(time, dmd.reconstructed_data.real[1], '--', lw=3, color='tab:red',
         label="$x_2$: DMD")
# 修飾
ax2.set(title="DMD による再構成と元データの比較", xlabel="時間")
ax2.legend()

plt.show()

【実行結果】

右のチャートは、前回記事の図 25.1 のチャートに似せています。
点が ファン・デル・ポル方程式から生成した時系列データ $${x_1, x_2}$$ の値を示しています。
点線が 時系列データを DMD で「再構成」した値です。
たぶん、時系列データを DMD で近似したもの、みたいな位置づけでしょう。
いい感じに近似できていると思います!

この出力結果の見方は、後ほど掲載の「コード実行結果の見るべきポイント」で紹介いたします。

(ChatGPTには内緒で)DMD の実装に用いた PyDMD ライブラリを Web サイトで調べてみると、公式サイトに DMD のサマリーを簡単に可視化できることが分かったので、早速動かしてみます。

# DMDのサマリーを表示
plot_summary(dmd)

【実行結果】
DMDによる推定の適否を確認する用途に使う感じですね。
今回はクープマン・モードが2個だったようです。

ChatGPTの解説 ~教科書~


ここからは、ChatGPTの解説を掲載いたします。
クープマンの作用素理論に基づく動的モード分解(DMD)の初歩的な解説であり、私にとっての「教科書」です!

【おしながき】

  1. クープマン関連の用語をざっくり解説!

  2. クープマン理論の理解ステップ【ステップバイステップ解説】

  3. ファン・デル・ポールの時系列に DMD を適用する(ChatGPTオリジナルコード)

  4. コード実行結果の見るべきポイント

(注意事項)
ChatGPTの回答をそのまま記載しています。
内容の適否はチェックしていませんので、ご了承ください。

1.🧠 クープマン関連の用語をざっくり解説!

非線形な力学系(例:ファン・デル・ポール方程式)を、「観測量(observable)」という視点から線形的に扱うための枠組みがクープマン理論です。

✅ まず:クープマン作用素とは?

非線形な力学系を、観測値の空間で「線形」に扱う道具

通常の力学系は状態 $${x_t}$$ の時間発展を見るが、クープマン理論では「状態 $${x_t}$$ を観測する関数 $${g(x)}$$ がどう変わるか」を見ます。

🌟 用語一覧(ざっくりバージョン)

$$
\begin{array}{l:l}
用語 & 一言で/詳しく言うと \\
\hline
 \\
クープマン作用素 & 観測量の時間発展を表す演算子 \\
& 関数空間における線形演算子 \\
 \\
クープマン固有値 & 時間変化の「速さ・周期・減衰率」\\
& 指定された観測量が指数的にどう変わるか \\
 \\
クープマン固有関数 & 「時間発展しても形が変わらない」観測量 \\
& 固有値付きの不変な関数 \\
 \\
クープマン・モード & 変化の空間的な「波の形」 \\
& 観測データの構造部分 \\
 \\
\text{DMD}:動的モード分解 & クープマン理論の数値近似法 \\
& 動画や流体などの時系列分解に使える \\
\end{array}
$$

🔁 クープマン理論の基本的な流れ

  1. 力学系 $${x_{t+1} = f(x_t)}$$(非線形)を観測量 $${g(x)}$$ で見る

  2. 観測量が時間とともにどう変わるかを考える

  3. それを線形演算子 $${K}$$ で表す

クープマン作用素 $${K}$$ の定義:

$$
(Kg)(x) := \mathbb{E}[g(X_t) \mid X_0 = x]
$$

🧮 数式的な表現(ざっくり)

$$
g(x(t)) \approx \sum_k \text{クープマンモード}_k \cdot e^{\lambda_k t}
$$

  • $${\lambda_k}$$:クープマン固有値(時間方向の変化率)

  • モード:観測空間での構造(空間的な形)

🌀 アナロジー(例え)

$$
\begin{array}{l:l}
概念 & 線形代数的な例え \\
\hline
状態の変化 & 行列 A によるベクトルの変化 Ax \\
観測量の変化 & クープマン作用素 K による関数の変化 \\
時間発展の分解 & 固有値分解(固有値\times固有ベクトル)に \\
& 似ている \\
\end{array}
$$

📘 クープマン理論 × コルモゴロフ後退方程式

実は、後退方程式の解 $${u(x,t) = \mathbb{E}[g(X_t) \mid X_0 = x]}$$ は、

$$
u(x, t) = K^t g(x)
$$

つまり:

  • 後退方程式の解 = クープマン作用素を時間 $${t}$$ 回作用させた結果

  • PDEで解くか、行列で近似するか、視点の違い

✅ クープマンの世界における主な手法

  • 辞書関数(基底関数)をたくさん定義して、観測空間を表現

  • クープマン作用素を行列として近似する

  • 固有分解すれば、時間方向・空間方向の分離表現ができる!

✅ まとめ

$$
\begin{array}{l:l}
キーワード & 意味 \\
\hline
クープマン作用素 & 観測量の時間発展を表す線形演算子 \\
クープマン固有値 & 時間方向の成分(周期や減衰) \\
クープマンモード & 空間的な構造(波の形) \\
コルモゴロフ & クープマン作用素の微分形式(\text{PDE}) \\
 後退方程式 & \\
\text{DMD} & クープマン理論の実用的な近似法 \\
&(行列分解ベース) \\
\end{array}
$$

🔰 理解のおすすめステップ

  1. 観測量 $${g(x)}$$ が何かを知る(例:位置、速度、エネルギーなど)

  2. クープマン作用素 $${K}$$ のイメージをつかむ(関数を未来に運ぶ)

  3. 固有値・モードで時間・空間を分けて見る

  4. 実データやシミュレーションに適用してみる(例:DMD)

興味があれば、Pythonでの具体的な DMD 実装や、ファン・デル・ポール方程式へのクープマン適用などもお見せできます!

2.✅ クープマン理論の理解ステップ【ステップバイステップ解説】

✅ ステップ 1:観測量 $${g(x)}$$ とは何か?

  • 観測量 $${g(x)}$$ は「状態 $${x}$$ から得られる数値的な情報(位置・速度・エネルギーなど)」を表します。

    • 例:$${g(x) = x_1}$$ や $${g(x) = x_2^2}$$ など。

✅ ステップ 2:クープマン作用素 $${K}$$ のイメージを掴む

  • $${g(x)}$$ の未来の値の期待値が $${Kg(x)}$$ です。

  • 力学系 $${x_{t+1} = f(x_t)}$$ の上で、以下を考えます:

$$
(K g)(x) = g(f(x))
$$

  • 非線形な $${f}$$ に対しても、$${K}$$ は線形な演算子!

🧠要するに…

  • 非線形な状態の進み方を、観測量の世界では線形に扱えるのがクープマンのすごさ!

✅ ステップ 3:クープマン固有値・固有関数・モードを知る

🔍 ポイント

  • 固有関数 $${\phi(x)}$$ は、時間とともに「形が崩れない観測量」:

$$
(K\phi)(x) = \lambda \phi(x)
$$

  • このとき、$${\lambda}$$ が固有値 → 時間方向の成分(周期や減衰)

💡 モードとは?

  • 観測量を 「固有関数の線形結合」で表したときの「係数ベクトル」がクープマンモード。

🧪 ざっくり例

$$
g(x(t)) \approx \sum_k \text{モード}_k \cdot e^{\lambda_k t}
$$

これ、フーリエ展開と似ていますね:

  • $${e^{\lambda_k t}}$$:時間方向の変化

  • モード:空間構造や観測成分

✅ ステップ 4:実データで体験(DMD)

  • 時系列データから、クープマンモードと固有値を数値的に推定する方法

  • 状態が非線形でも、観測値の空間で線形なモード分解ができる!

🧪 Python での DMD(簡略版)の例(pydmd 使用)

from pydmd import DMD
import numpy as np

# データ行列(各列が時間ステップ)
X = np.array([...])  # shape: (features, time_steps)

# DMD を実行
dmd = DMD(svd_rank=5)
dmd.fit(X)

# 固有値、モード、再構成
eigenvalues = dmd.eigs
modes = dmd.modes
reconstructed = dmd.reconstructed_data

✅ まとめ:理解のステップ

$$
\begin{array}{l:l}
ステップ & 内容 \\
\hline
① 観測量 g(x) & 状態から得られる測定量(位置や速度) \\
② クープマン作用素 & 観測量の時間発展を線形に扱う演算子 \\
③ 固有値・モード & 時間変化の特徴(周期・減衰)と空間構造 \\
④ 実データ適用 & 時系列データからモード分解で理解・予測 \\
 (\text{DMD})
\end{array}
$$

🎯 次にやってみたいこと

  • ファン・デル・ポールの時系列に DMD を適用する

  • 固有値・モードをグラフで可視化する

  • 観測量や辞書関数を使ってクープマン行列を構成する

興味のある項目を深掘りしていきましょう!😊

3.🎯 ファン・デル・ポールの時系列に DMD を適用する

ここでは以下の流れで、ファン・デル・ポール方程式に DMD(Dynamic Mode Decomposition)を適用していきましょう。

✅ 全体のステップ

$$
\begin{array}{l:l}
ステップ & 内容 \\
\hline
① & ファン・デル・ポール方程式を \\
& 数値解で時系列データに変換 \\
② & \text{DMD} にかけるためのデータ行列 X を構築 \\
③ & \text{pydmd} ライブラリで \text{DMD} を適用 \\
④ & モード・固有値・再構成の可視化 \\
\end{array}
$$

🔧 準備ライブラリ(必要ならインストール)

pip install pydmd

✅ ファン・デル・ポール方程式に DMD を適用する

# --- 必要なライブラリのインポート ---
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import solve_ivp
from pydmd import DMD

# --- ファン・デル・ポール方程式の定義 ---
mu = 1.0

def vdp(t, y):
    x1, x2 = y
    dx1 = x2
    dx2 = mu * x2 * (1 - x1**2) - x1
    return [dx1, dx2]

# --- 時系列データの生成 ---
t_span = (0, 20)
t_eval = np.linspace(*t_span, 1000)
y0 = [0.2, 0.8]
sol = solve_ivp(vdp, t_span, y0, t_eval=t_eval)

X = sol.y                  # shape = (2, 1000)
time = sol.t              # shape = (1000,)

# --- DMD の適用 ---
dmd = DMD(svd_rank=2)
dmd.fit(X)

# --- 結果の表示 ---
print("DMD 固有値:", dmd.eigs)

# --- モードのプロット ---
plt.figure(figsize=(12, 4))
plt.subplot(1, 2, 1)
plt.plot(np.real(dmd.eigs), np.imag(dmd.eigs), 'o')
plt.title("DMD 固有値 (複素平面)")
plt.xlabel("Re")
plt.ylabel("Im")
plt.grid(True)

# --- 再構成結果との比較 ---
plt.subplot(1, 2, 2)
plt.plot(time, X[0], label="$x_1$: original", alpha=0.7)
plt.plot(time, dmd.reconstructed_data.real[0], '--', label="$x_1$: DMD")
plt.plot(time, X[1], label="$x_2$: original", alpha=0.7)
plt.plot(time, dmd.reconstructed_data.real[1], '--', label="$x_2$: DMD")
plt.title("DMD による再構成と元データの比較")
plt.xlabel("Time")
plt.legend()
plt.tight_layout()
plt.show()

🔍 解説

  • solve_ivp でファン・デル・ポール方程式の時系列データを生成

  • pydmd の DMD クラスを使って、DMD モードと固有値を抽出

  • 再構成結果(DMD によって再現された時系列)と元データを比較

📌 確認ポイント

  • DMD 固有値が単位円上に近い → 周期性のあるモード

  • DMD モードによって主要な振動構造を抽出できる

✅ 応用例

  • 複雑な非線形系でも主要な周期成分を取り出せる

  • 動画や流体シミュレーション、脳波解析にも応用可能

次のステップ(希望あれば)

  • 固有値の時間スケールへの変換(周期など)

  • モードの空間構造の可視化

  • DMD モードによる予測(未来予測への応用)

コードの実行結果

4.🧠 コード実行結果の見るべきポイント

①DMD固有値(左の図)

固有値:
[ 1.00067519 + 0.01987086j ,  1.00067519 - 0.01987086j ]

🔍 チェックポイント:

$$
\begin{array}{l:l:l}
観点 & 評価 & 解説 \\
\hline
大きさ ≈ 1 & ✅ OK & 単位円近く \\
& & → 振動モード(成長・減衰なし)を意味 \\
虚部あり & ✅ OK & 虚部の対になる共役ペア \\
& & → 正弦波・コサイン波のような振動 \\
固有値は2個 & ✅ OK & 次元削減(\text{rank}=2)に対応した \\
& & 振動モードが得られている \\
\end{array}
$$

→ 周期性のある2次元非線形系(ファン・デル・ポール)にぴったりな振動モードが捉えられています。

②再構成と元データの比較(右の図)
🔍 チェックポイント:

$$
\begin{array}{l:l:l}
観点 & 評価 & 解説 \\
\hline
x_2 の再構成 & ✅ 高精度 & 振幅・位相が非常に良く \\
(緑と赤) & & 一致している\\
x_1 の再構成 & ⚠ ややズレあり & \text{DMD}では線形モードの \\
(青と橙)& & 重ね合わせなので非線形性が \\
& & 強い成分はややずれる
\end{array}
$$

→ 特に $${x_2}$$ の再構成が非常にうまくいっており、DMDの振動抽出性能がしっかり働いていることがわかります。

✅結論:この結果は「適切で、実験として成功」です!

  • DMDの基礎的適用例として理想的な挙動

  • 単位円にある複素共役の固有値 → 周期モードが抽出されている証拠

  • 非線形系に対しても、主成分をうまく捉えられている

🔜 次にできること(希望があれば)

$$
\begin{array}{l:l}
やりたいこと & 内容 \\
\hline
 \\
固有値から周期や & T = \cfrac{2\pi}{\text{Im}(\log(\lambda))} \\
周波数を求める & \\
 \\
モードの可視化 & 系のどの構成要素が振動しているかを \\
& 空間的に表す \\
 \\
将来の時間へ予測 & \text{DMD}のモデルで t > 20 を再構成 \\
& してみる \\
 \\
ランクを変えて比較 & \text{svd\_rank} を 1 や 4 にして比較分析も \\
& 面白いです\\
\end{array}
$$


以上でChatGPTによる「教科書」は終了です。

そういえば、コード生成時にChatGPTがこんなことを言っていました。

将来の時間へ予測、ですって!?

次章へ続く!

今回の写経は以上です。


シリーズの記事

次の記事

前の記事

目次

ブログの紹介


note で7つのシリーズ記事を書いています。
ぜひ覗いていってくださいね!

1.のんびり統計

統計検定2級の問題集を手がかりにして、確率・統計をざっくり掘り下げるブログです。
雑談感覚で大丈夫です。ぜひ覗いていってくださいね。
統計検定2級公式問題集CBT対応版に対応しています。
Python、EXCELのサンプルコードの配布もあります。

2.実験!たのしいベイズモデリング1&2をPyMC Ver.5で

書籍「たのしいベイズモデリング」・「たのしいベイズモデリング2」の心理学研究に用いられたベイズモデルを PyMC Ver.5で描いて分析します。
この書籍をはじめ、多くのベイズモデルは R言語+Stanで書かれています。
PyMCの可能性を探り出し、手軽にベイズモデリングを実践できるように努めます。
身近なテーマ、イメージしやすいテーマですので、ぜひぜひPyMCで動かして、一緒に楽しみましょう!

3.実験!岩波データサイエンス1のベイズモデリングをPyMC Ver.5で

書籍「実験!岩波データサイエンスvol.1」の4人のベイジアンによるベイズモデルを PyMC Ver.5で描いて分析します。
この書籍はベイズプログラミングのイロハをざっくりと学ぶことができる良書です。
楽しくPyMCモデルを動かして、ベイズと仲良しになれた気がします。
みなさんもぜひぜひPyMCで動かして、一緒に遊んで学びましょう!

4.楽しい写経 ベイズ・Python等

ベイズ、Python、その他の「書籍の写経活動」の成果をブログにします。
主にPythonへの翻訳に取り組んでいます。
写経に取り組むお仲間さんのサンプルコードになれば幸いです🍀

5.RとStanではじめる心理学のための時系列分析入門 を PythonとPyMC Ver.5 で

書籍「RとStanではじめる心理学のための時系列分析入門」の時系列分析をPythonとPyMC Ver.5 で実践します。
この書籍には時系列分析のテーマが盛りだくさん!
時系列分析の懐の深さを実感いたしました。
大好きなPythonで楽しく時系列分析を学びます。

6.データサイエンスっぽいことを綴る

統計、データ分析、AI、機械学習、Pythonのコラムを不定期に綴っています。
統計・データサイエンス書籍にまつわる記事が多いです。
「統計」「Python」「数学とPython」「R」のシリーズが生まれています。

7.Python機械学習プログラミング実践記

書籍「Python機械学習プログラミング PyTorch & scikit-learn編」を学んだときのさまざまな思いを記事にしました。
この書籍は、scikit-learnとPyTorchの教科書です。
よかったらぜひ、お試しくださいませ。

最後までお読みいただきまして、ありがとうございました。

いいなと思ったら応援しよう!

ネイピア DS 応援ありがとうございます。これからもがんばって記事を作成します!

この記事が参加している募集