SciPy を使用して信頼区間を計算する

Shiv Yadav 2024年2月15日
SciPy を使用して信頼区間を計算する

この記事は、SciPy を使用して Python で信頼区間を計算できるようにすることを目的としています。 計算の部分に入る前に、信頼区間に関するいくつかの基本的な情報を理解する必要があります。

SciPy を使用して信頼区間を計算する

何かを測定するときは、常に結果の不確実性の程度を計算する必要があります。 信頼区間は、オブザーバブルの真の値を高い確度で特定できる範囲を計算するための非常に重要なツールです。

身長について尋ねたとします。 彼の身長は 1.55 メートルであることがわかりますが、この測定の不確実性については何もわかりません。

信頼区間とは、測定対象のオブザーバブルの真の値を決定する際に高い信頼レベルを持つ区間です。 科学者は 95% の信頼区間を求めることがよくありますが、90% または 99% の信頼区間も頻繁にあります。

したがって、高さを尋ねる場合は、95% の信頼度で 1.50 メートルから 1.60 メートルの高さがあるなど、推定値または信頼区間を提供する必要があります。

このツールは、オブザーバブルの真の値を決定するための間隔を提供します。

信頼区間を計算するには、次の式を使用する必要があります。

信頼区間式

どこ:

  • x_bar は標本平均です。
  • z は信頼レベルの値です。
  • n はサンプル サイズです。
  • s はサンプルの標準偏差です。

サンプル数が 30 未満のデータを処理しているとします。 その場合、t 分布と呼ばれます。 その信頼区間を計算するには、scipy.stats ライブラリの t.interval() 関数を使用します。

さまざまな村の人口のデータセットがあるとします。 この例では、サイズ (n=23) のデータ セットを使用して、Python の t 分布と t.interval() メソッドを使用して 95% 信頼区間を計算します。信頼パラメーターは 0.95 に設定されています。

t-分布 CI 95%

ここで、t.interval() が次のパラメーターを取ることがわかります: confidencedata (df)、loc (位置パラメーター)、および scale

99% を使用した場合の信頼水準の違いを見てみましょう。

t-分布 CI 99%

95% 信頼区間を使用すると、区間は (11.37-20.28) になり、99% 信頼区間を使用すると、区間は (9.77-21.88) になります。 両方の間隔を比較すると、99% の CI を使用すると間隔が広くなることがわかります。これは、間隔 (9.77-21.88) に真の母集団が含まれる可能性が 99% であることを意味します。

サンプルサイズが 30 を超えるデータセットがある場合、どうすればよいでしょうか? scipy.stats ライブラリの norm.interval() メソッドを使用して、データセットが Python で正規分布している場合、特定のデータセットの母平均の信頼区間を取得できます。

この例では、サイズ (n=60) のランダム データ セットを使用して、正規分布と Python の norm.interval() メソッドを使用して 95% 信頼区間を計算します。 0.95。

正規分布 CI 95%

99% を使用した場合の信頼水準の違いを見てみましょう。

正規分布 CI 99%

95% 信頼区間を使用すると、区間は (43.70-45.17) になります。 99% 信頼区間を使用すると、区間は (43.47-45.41) になります。 両方の間隔を比較すると、99% の CI を使用すると間隔が広くなることがわかります。これは、間隔 (43.47-45.41) に真の母集団が含まれる可能性が 99% であることを意味します。

信頼区間は計算が簡単で、データ アナリストや科学者に貴重な情報を提供できます。 それらは非常に強力なエラー推定を提供し、適切に適用すると、データから可能な限り多くの情報を抽出するのに本当に役立ちます.

著者: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn