ノンパラメトリック法 nonparametric

このセクションでは、ノンパラメトリック統計の様々な手法をまとめます。これには、一変量および多変量データのカーネル密度推定、カーネル回帰、局所重み付け散布図平滑化(LOWESS)が含まれます。

sandbox.nonparametricには、開発中の関数やユニットテストがまだない関数が含まれています。ここでは、カーネルまたは直交多項式に基づくノンパラメトリック密度推定器、特にスムージング、およびstatsmodelsの他の部分におけるノンパラメトリックモデルと手法のためのツールを含める予定です。

カーネル密度推定

カーネル密度推定(KDE)機能は、かなり異なる方法で実装されている一変量推定と多変量推定に分割されています。

一変量推定(KDEUnivariateで提供)はFFT変換を使用するため、非常に高速です。そのため、速度が重要な場合は、*連続した一変量*データに優先的に使用する必要があります。異なるカーネルの使用をサポートしています。帯域幅の推定は、経験則(スコットまたはシルバーマン)によってのみ行われます。

多変量推定(KDEMultivariateで提供)は積カーネルを使用します。帯域幅推定のための最小二乗法と最尤クロスバリデーションをサポートし、混合連続、順序付き、および順序付けられていないデータの推定も行います。ただし、現時点では、デフォルトのカーネル(ガウス、Wang-Ryzin、Aitchison-Aitken)を変更することはできません。KDEMultivariateConditionalによって、条件付き密度\(P(X | Y) = P(X, Y) / P(Y)\)の直接推定がサポートされています。

KDEMultivariateも一変量推定を行うことができますが、KDEUnivariateよりも最大で2桁遅くなります。

カーネル回帰

カーネル回帰(KernelRegで提供)は、KDEMultivariateと同じ積カーネルアプローチに基づいているため、KDEMultivariateについて上記で説明したのと同じ機能セット(混合データ、クロスバリデーションされた帯域幅推定、カーネル)を持っています。KernelCensoredRegによって、打ち切り回帰が提供されます。

KernelRegに基づく半パラメトリック部分線形モデルと単一指標モデルのコードは、サンドボックスにあります。

参考文献

  • B.W. Silverman, “Density Estimation for Statistics and Data Analysis”

  • J.S. Racine, “Nonparametric Econometrics: A Primer,” Foundation and Trends in Econometrics, Vol. 3, No. 1, pp. 1-88, 2008.

  • Q. Li and J.S. Racine, “Nonparametric econometrics: theory and practice”, Princeton University Press, 2006.

  • Hastie, Tibshirani and Friedman, “The Elements of Statistical Learning: Data Mining, Inference, and Prediction”, Springer, 2009.

  • Racine, J., Li, Q. “Nonparametric Estimation of Distributions with Categorical and Continuous Data.” Working Paper. (2000)

  • Racine, J. Li, Q. “Kernel Estimation of Multivariate Conditional Distributions Annals of Economics and Finance 5, 211-235 (2004)

  • Liu, R., Yang, L. “Kernel estimation of multivariate cumulative distribution function.” Journal of Nonparametric Statistics (2008)

  • Li, R., Ju, G. “Nonparametric Estimation of Multivariate CDF with Categorical and Continuous Data.” Working Paper

  • Li, Q., Racine, J. “Cross-validated local linear nonparametric regression” Statistica Sinica 14(2004), pp. 485-512

  • Racine, J.: “Consistent Significance Testing for Nonparametric Regression” Journal of Business & Economics Statistics

  • Racine, J., Hart, J., Li, Q., “Testing the Significance of Categorical Predictor Variables in Nonparametric Regression Models”, 2006, Econometric Reviews 25, 523-544

モジュールリファレンス

公開関数とクラスは以下のとおりです。

lowess(endog, exog[, frac, it, delta, ...])

LOWESS(局所重み付け散布図平滑化)

KDEUnivariate(endog)

一変量カーネル密度推定器。

KDEMultivariate(data, var_type[, bw, defaults])

多変量カーネル密度推定器。

KDEMultivariateConditional(endog, exog, ...)

条件付き多変量カーネル密度推定器。

EstimatorSettings([efficient, randomize, ...])

密度推定または回帰の設定を指定するためのオブジェクト。

KernelReg(endog, exog, var_type[, reg_type, ...])

ノンパラメトリックカーネル回帰クラス。

KernelCensoredReg(endog, exog, var_type, ...)

ノンパラメトリック打ち切り回帰。

カーネルバンド幅のヘルパー関数

bw_scott(x[, kernel])

スコットの経験則

bw_silverman(x[, kernel])

シルバーマンの経験則

select_bandwidth(x, bw, kernel)

帯域幅選択ルールbwの帯域幅を選択します。

非線形関数の例は、statsmodels.nonparametric.dgp_examplesにあります。

非対称カーネル

単位区間に対するベータ関数や正の値をとる確率変数に対するガンマ関数のような非対称カーネルは、分布のサポートの境界における問題を回避します。

Statsmodelsは、単位区間に対するカーネル(beta)や正の実数直線に対するその他のカーネルを使用して、密度と累積分布関数を推定するための予備的なサポートを提供しています。

正の実数直線に対するカーネルのいくつかは、ゼロ境界での密度はゼロであると仮定しています。ガンマカーネルは、ゼロ境界で正または無限の密度の場合も許容します。

現在、デフォルト値はなく、帯域幅の選択もサポートされていません。ユーザーは帯域幅を指定する必要があります。

カーネル密度とカーネルCDFを計算する関数は次のとおりです。

pdf_kernel_asym(x, sample, bw, kernel_type)

非対称カーネルに基づく密度推定。

cdf_kernel_asym(x, sample, bw, kernel_type)

非対称カーネルに基づく累積分布の推定。

pdfとcdfで使用可能なカーネル関数は次のとおりです。

kernel_pdf_beta(x, sample, bw)

密度、pdf推定のためのベータカーネル。

kernel_pdf_beta2(x, sample, bw)

境界補正付き密度、pdf推定のためのベータカーネル。

kernel_pdf_bs(x, sample, bw)

密度、pdf推定のためのバーンバウム・サンダース(正規)カーネル。

kernel_pdf_gamma(x, sample, bw)

密度、pdf推定のためのガンマカーネル。

kernel_pdf_gamma2(x, sample, bw)

境界補正付き密度、pdf推定のためのガンマカーネル。

kernel_pdf_invgamma(x, sample, bw)

密度、pdf推定のための逆ガンマカーネル。

kernel_pdf_invgauss(x, sample, bw)

密度、pdf推定のための逆ガウスカーネル。

kernel_pdf_lognorm(x, sample, bw)

密度、pdf推定のための対数正規カーネル。

kernel_pdf_recipinvgauss(x, sample, bw)

密度、pdf推定のための逆ガウスの逆数カーネル。

kernel_pdf_weibull(x, sample, bw)

密度、pdf推定のためのワイブルカーネル。

kernel_cdf_beta(x, sample, bw)

累積分布、cdf推定のためのベータカーネル。

kernel_cdf_beta2(x, sample, bw)

境界補正付きcdf推定のためのベータカーネル。

kernel_cdf_bs(x, sample, bw)

cdf推定のためのバーンバウム・サンダース(正規)カーネル。

kernel_cdf_gamma(x, sample, bw)

累積分布、cdf推定のためのガンマカーネル。

kernel_cdf_gamma2(x, sample, bw)

境界補正付きcdf推定のためのガンマカーネル。

kernel_cdf_invgamma(x, sample, bw)

累積分布、cdf推定のための逆ガンマカーネル。

kernel_cdf_invgauss(x, sample, bw)

累積分布、cdf推定のための逆ガウスカーネル。

kernel_cdf_lognorm(x, sample, bw)

累積分布、cdf推定のための対数正規カーネル。

kernel_cdf_recipinvgauss(x, sample, bw)

cdf推定のための逆ガウスの逆数カーネル。

kernel_cdf_weibull(x, sample, bw)

累積分布、cdf推定のためのワイブルカーネル。

sandbox.nonparametricには、関数形式のテスト、半線形モデル、単一指標モデルのテストのための、追加の不十分にテストされたクラスが含まれています。


最終更新日: 2024年10月3日