13章高度な数値計算と統計

本章では、応用統計学の大学院課程の1年生か2年生で学ぶような高度な手法を紹介します。

本章のレシピのほとんどは、標準ディストリビューションに含まれる関数を使っています。Rは、アドオンパッケージによって世界で最も高度な統計学的手法の一部を提供しています。そのため、現在は統計学の研究者はRを共通語として使い、最新の研究を紹介しています。最新の統計学的手法を探すなら、CRANとそのWebページで利用できる実装を調べることをお勧めします。

レシピ13.1 単一パラメータ関数の最小値または最大値を求める

問題

単一パラメータ関数fがある。fが最小または最大になる点を見つけたい。

解決策

単一パラメータ関数の最小を求めるには、optimizeを使います。関数を最小化するように指定し、定義域(x)の境界を指定します。

optimize(f, lower = lowerBound, upper = upperBound)

関数の最大を求めるには、maximum = TRUEを指定します。

optimize(f,
         lower = lowerBound,
         upper = upperBound,
         maximum = TRUE)

解説

optimize関数は、1つの引数の関数を扱えます。optimize関数には、調べる領域の範囲を定めるxの上限と下限が必要です。次の例は多項式3x4-2x3+3x2-4x+5の最小点を求めます。

f <- function(x)
  3 * x ^ 4 - 2 * x ^ 3 + 3 * x ^ 2 - 4 * x + 5
optimize(f, lower = -20, upper = 20) ## $minimum ## ...

Get Rクックブック 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.