Performance comparison of Python, MATLAB and R for numerical solutions of SI and SIR epidemiological models

本論文は、Python、MATLAB、R における数値解法(オイラー法、ルンゲ=クッタ法、予測子修正子法)を用いた SI および SIR 疫学モデルの計算効率と精度を比較評価し、研究者が適切なツールを選択するための指針を提供するものである。

Berkay Özışık, Elif Demirci

公開日 2026-03-05
📖 1 分で読めます🧠 じっくり読む

Each language version is independently generated for its own context, not a direct translation.

この論文は、**「感染症の広がり(流行)をシミュレーションする際、Python、MATLAB、R という 3 つの有名なプログラミング言語のうち、どれが一番速くて正確なのか?」**という実用的な問題を、まるで料理の味比べをするように検証した研究です。

専門用語を避け、身近な例え話を使って解説しますね。

1. 研究の舞台:感染症の「お風呂」

まず、この研究で扱っているのは**「SI モデル」「SIR モデル」**という 2 つのモデルです。

  • SI モデル:「健康な人(S)」が「感染した人(I)」にうつって、もう治らない状態になるシンプルな話。
  • SIR モデル:「健康な人(S)」が「感染した人(I)」になり、その後「回復した人(R)」になる、より現実的な話。

これらを数式で表すと、未来の感染状況を予測できますが、その計算は非常に複雑で、人間が手計算でやるのは不可能です。そこで、コンピュータに「近似計算(近似的な答えを出す方法)」をさせています。

2. 3 つの「料理人」と 3 つの「調理法」

この研究では、3 つの異なる「料理人(プログラミング言語)」と、3 つの異なる「調理法(数値計算アルゴリズム)」を組み合わせました。

  • 3 つの料理人(言語)

    • Python:万能で安価、今最も流行っている料理人。
    • MATLAB:昔から科学者やエンジニアに愛用されている、高価だが確実な料理人。
    • R:統計分析が得意な、学者好みの料理人。
  • 3 つの調理法(計算方法)

    • オイラー法:一番シンプルで、一歩ずつ進む「足踏み」のような方法。簡単だが、少しズレやすい。
    • RK4 法:一歩進む前に、前後の状況も詳しくチェックする「精密な測量」のような方法。少し手間がかかるが、非常に正確。
    • 予測 - 修正法(P-C):まず大まかに予想し、その後に修正を加える「下書き→清書」のような方法。

3. 実験:誰が「速く」て「正確」か?

研究チームは、同じ条件(同じ感染症のデータ)で、この 3 人の料理人に 3 つの調理法をすべて試させました。

① 正確さ(味)の比較

  • SI モデル(正解が分かっている料理)
    • 正解(レシピ)と比べました。
    • RK4 法を使った料理人は、どの言語でも「完璧に近い味(誤差ほぼゼロ)」を出しました。
    • オイラー法は、歩幅(計算の細かさ)を粗くすると味が少し崩れました。
    • 言語による味の違いはほとんどありませんでした。どの言語でも、同じ調理法なら同じ味が出ます。

② 速度(調理時間)の比較

ここが最大のポイントです。同じ料理を作るのに、どれくらい時間がかかったか?

  • Python圧倒的な速さでした。特に細かく計算する必要がある場合(歩幅を細かくする)でも、他の 2 人を大きく引き離しました。
  • MATLAB:Python よりも少し遅く、中程度のスピード。
  • R:残念ながら、最も時間がかかりました。同じ作業でも、Python の数倍の時間がかかることがありました。

③ SIR モデル(正解が分からない料理)

正解が分からない複雑な料理(SIR モデル)では、MATLAB には「超精密な調理器(ODE45)」という強力なツールがあるため、それを基準にしました。

  • 結果は SI モデルと同じ傾向でした。Python が最も速くR が最も遅いという結果になりました。
  • 精度については、MATLAB の RK4 法は、その超精密な調理器(ODE45)が出す答えとほとんど変わらない精度を出していました。

4. 結論:あなたにおすすめなのは?

この研究が伝えたいメッセージはシンプルです。

「感染症の流行をシミュレーションしたいなら、バランスの取れた『Python』が最強の相棒だ!」

  • Python:速くて正確。研究者や実務家にとって、コストパフォーマンスが最高です。
  • MATLAB:精度は高いですが、少し重く、ライセンス代もかかるため、Python で十分ならそちらがおすすめです。
  • R:統計分析には強いですが、このように「大量の計算を高速に回す」シミュレーションには、少し足が重いです。

まとめ

この論文は、「どのツールを使うべきか迷っている人」に対して、**「Python を選べば、速くて正確な結果が得られるよ」**と、データに基づいた確かなアドバイスをしているのです。まるで「料理をするなら、この包丁が一番切れ味よくて扱いやすいよ」と教えてくれるような、実用的なガイドブックと言えます。