あなたの猫が太っていることを証明する方法


あなたは非常に、非常に太ったと怠惰な猫がboglaという名前があります.彼は怠け者だから、よく彼の食事の中で寝入る.あなたは彼にそんなに多くのマグロを食べないように怒鳴らせ続けます、しかし、彼は全くあなたに注意を払いません.それで、あなたは統計的証明で彼を講義することに決めます.あなたは彼と私の神を量り、彼はすでに6キロです.
あなたは統計的にあなたの猫が太っていることを証明することができますどのようにインターネットを見てください.彼らはあなたがより多くの';データを収集する必要が書かれているので、そうするためには、いくつかの他の猫の重みを知る必要があります.だから、他の猫の親を呼び出すことによって情報を収集を開始します.あなたは小さなPythonスクリプトを書いています.ここでは、' pandas 'ライブラリを使用して、cat名とその重みの組を行列構造に変換します.
#Import pandas library
import pandas as pd

# initialize list of lists
height_data = [['tom', 3.0], ['pumpkin', 3.51], ['bonk', 4.2], ['thunder', 5.5], ['oreo', 4.73], ['nya', 5], ['kitkat', 4.55], ['bubbles', 4.9], ['sparkle', 6.29], ['pebbles', 3.72]]
 # Create the pandas DataFrame
df_weight = pd.DataFrame(height_data, columns = ['Name', 'Weight(kg)'])
 # print dataframe.
df_weight

今、あなたは“ヒストグラム”という名前のグラフのいくつかのタイプにデータを置く必要があると思います.ヒストグラムを作成するには、ビンやバケツの概念を理解する必要があります.ビンはグループのようです.たとえば、人の年齢を考えると、人が13歳未満の場合は、彼は子供を呼び出します彼が13から19の間であるならば、あなたは彼をティーンと呼びます、そして、彼が19才以上であるならば、あなたは通常彼を大人にしておきます.ここで、0 - 12、13 - 19と19 +の年齢範囲は、ビンと考えられることができます.
あなたの友人の猫の重みのヒストグラムを作成するには、5つのビンを作ることにします.最も軽い猫は3 kgでトムはとてもキラキラで、彼は6.29 kgです.それで、すべての猫は、この3~6.29 kgの範囲の範囲内で「分配されます」.この(6.29 - 3)または範囲の3.29 kgの範囲内で5つの等しいビンを作りたいならば、各々のビンはあたり(3.29/5)または0.658 kgです.したがって、トムは、3キロですが、最初のビンになります.最初のビンの範囲が3から3.658 kgまで広がるので、カボチャ(3.51 kg)もこの範囲にあります.番目のビンは3.658から(3.658 + 0.658)か4.316 kgになります、そして、あなたは見ることができます、3番目の猫、Bonk(その人は4.20 kgです)は第2のビンにあります.同様に、あなたはすべてのこれらの猫をビンに入れて、各々のビンがどれくらいの猫を含むかについて数えてください.ビン1、2、3、4、5は2、2、3、2と1の猫が含まれています.あなたは小さなPythonスクリプトを書く全体のプロセスを行うことができます.
import seaborn as sns
sns.histplot(data=df_weight, x="Weight(kg)", bins=5)
#sns.histplot(data=df_weight, x="Weight(kg)", bins='auto')  automatically decides How many bins you need

あなたが参照してください、ほとんどの猫(この場合、3匹の猫)は4.316の範囲(4.316 + 0.658)または4.974 kgの範囲をカバーする3番目のビンで体重を持っている.
そこにはもっと猫がいますね.体重3 kg以下の猫かもしれません.あなたが持っているデータから脂肪である他の猫の確率を仮定することができればそれは素晴らしいでしょう.ここで、猫の体重は「ランダム変数」であり、すべての猫の重みは「サンプル空間」である.ランダム変数(この場合は、猫の体重)と猫のすべての可能な重みのすべての可能な値は、特定の結果がどのように頻繁に来る(例えば、猫6キロの重量)は、“ディストリビューション”で表される可能性があります.では、いくつかの行のコードを書こうとしましょう.
sns.FacetGrid(df_weight, size=6) \
  .map(sns.kdeplot, "Weight(kg)") \
  .add_legend()

このグラフから、あなたは、カーブが4~5 kgの値の近くのその最高点であることをはっきりと見ます.そして、それはあなたの近所からのほとんどの猫がこの範囲内にあることを意味します.
ここで、あなたが見るカーブは、「正常な配布」です.実際の正規分布は、平均、ベルのような種類について対称です🔔), つまり、平均値は曲線の中心にとどまり、左右は鏡像のように見える.通常の配布の写真です.

あなたは、平均、中央値とモードの意味をすでに知っているかもしれません.平均値はすべてのデータの平均値で、中央値はデータの中点で、データ集合の上位半分と下半分を分離し、モードは最も発生する数値です.通常の分布では、それらの3つは同じ点にあり、その点は点線で私たちのイメージにマークされます.
今問題は、あなたの分布曲線は完全に対称的ではなかった.曲線は時々左または右に傾く可能性があります.この非対称性を「歪曲」と呼ぶ.彼らの平均と中央値がどこにあるかによって、歪曲は否定的であるか、正でありえます.平均が中央値(平均中央値、または平均値がグラフの中央値に右側)より大きい場合、歪曲性は正である.負の歪んだ分布の場合は、平均値は中央値よりも小さい(平均値は中央値、平均値は中央値から左へ).

データセットについて:
import numpy as np
from scipy import stats

mean = np.mean(df_weight['Weight(kg)'])
median = np.median(df_weight['Weight(kg)'])

print(mean, median)
ここで平均は4.54であり、中央値は4.64です.それで、データは負に歪んでいます.
とにかく、あなたは今、あなたの猫がいくらか太っていることをグラフから知っています.どのように正確に彼は脂肪ですか?ここにあなたの一日を保存する“パーセンタイル”の概念が来る.パーセンタイルは何ですか?4.95 kgの猫がいて、75 %猫より太っているとします.ここで、値4.95は' 75番目のパーセンタイル'です.の値は(第75の第25の四分の一クォーター範囲)と呼ばれる.


今、あなたの猫より低い体重を持っているかを確認してみましょう.
import numpy as np
sum(np.abs(df_weight["Weight(kg)"]) < 6) / float(len(df_weight["Weight(kg)"]))
おお、0.9!それはあなたの猫は猫の90 %より太っていることを意味します.
あなたは最終的に統計であなたの猫で叫ぶ方法を知っているが、あなたの旅はスムーズではなかった.あなたは誤ってデータを収集しながら、すべてのグラフが台無しにされた最初の' 3.0 'の代わりにトムの重量' 0.3 'を書いた.

ヒストグラムに空白があった理由を知りませんでした.あなたはその時インターネットを見上げて、『アウトライアー』の概念に遭遇しました.異常値は単に残りと異なるデータです.あなたのデータの外れ値をチェックするには、boxplotsを使用します.ボックスプロットでは、イベント(この場合、最も一般的な猫の重み)の最も可能性の高い範囲がボックスに表示され、他の下と上(しかし、容認できる)値は、ウィスカーを使用して表示されます.許容できない値はドットを用いて示される.
sns.boxplot(y='Weight(kg)', data=df_weight)

このことから、データセットに属していなかった値がありました.あなたは、私が以前言及したinterquartile範囲(IQR)を使用している値を見つけることができます.25番目のパーセンタイルの値がQ 1で、75番目のパーセンタイルがQ 3であるならば、Q 3 + 1.5×IQRまたはQ 1より1.5倍高い値を持つ何でも- 1.5 x IQRは異常です.
Q1 = np.percentile(df_weight['Weight(kg)'], 25, interpolation = 'midpoint')
Q3 = np.percentile(df_weight['Weight(kg)'], 75, interpolation = 'midpoint')
IQR = Q3 - Q1

low = Q1 - 1.5 * IQR
up = Q3 + 1.5 * IQR

outlier =[]
for x in df_weight['Weight(kg)']:
   if ((x> up) or (x<low)):
       outlier.append(x)
print('outlier in the dataset is', outlier)

トムの体重を書いている間、あなたはミスを犯したことを知っていました.
今すぐあなたの猫で叫ぶ.