Rumah >pembangunan bahagian belakang >Tutorial Python >Menunjukkan peraturan 68-95-99.7 dalam statistik menggunakan Python
Statistik membekalkan kami alat yang berkuasa untuk menganalisis dan memahami data. Salah satu konsep asas dalam statistik ialah peraturan 68-95-99.7, juga dikenali sebagai peraturan ibu jari atau peraturan tiga sigma. Peraturan ini membolehkan kita membuat inferens penting tentang pengagihan data berdasarkan sisihan piawainya. Dalam catatan blog ini, kami akan meneroka peraturan 68-95-99.7 dan menunjukkan cara menggunakannya menggunakan Python.
68-95-99.7 menyediakan cara untuk menganggar peratusan data dalam taburan normal yang berada dalam sisihan piawai tertentu daripada min. Mengikut peraturan ini -
Kira-kira 68% daripada data berada dalam satu sisihan piawai min.
Kira-kira 95% daripada data berada dalam dua sisihan piawai min.
Kira-kira 99.7% daripada data berada dalam tiga sisihan piawai min.
Peratusan ini adalah untuk set data yang mengikut taburan normal (juga dikenali sebagai lengkung loceng). Memahami peraturan ini membolehkan kami menilai dengan cepat penyebaran data dan mengenal pasti pemerhatian luar biasa atau luar biasa.
Untuk menunjukkan peraturan 68-95-99.7 dalam tindakan, kami akan menggunakan Python dan perpustakaan analisis data popularnya NumPy. NumPy menyediakan operasi berangka dan fungsi statistik yang cekap untuk membantu kami mengira nilai yang diperlukan. Mari kita mengimport perpustakaan yang diperlukan dahulu −
import numpy as np import matplotlib.pyplot as plt
Seterusnya, kami akan menggunakan fungsi numpy.random.normal() untuk menjana set data rawak yang mengikuti taburan normal. Kami akan menggunakan min 0 dan sisihan piawai 1 −
np.random.seed(42) # Set the random seed for reproducibility data = np.random.normal(0, 1, 10000)
Kini, kita boleh mengira min dan sisihan piawai bagi set data −
mean = np.mean(data) std = np.std(data)
Untuk menggambarkan data dan kawasan yang diliputi oleh peraturan 68-95-99.7, kita boleh mencipta histogram menggunakan fungsi matplotlib.pyplot.hist() −
plt.hist(data, bins=30, density=True, alpha=0.7) # Plot the mean and standard deviations plt.axvline(mean, color='r', linestyle='dashed', linewidth=1, label='Mean') plt.axvline(mean - std, color='g', linestyle='dashed', linewidth=1, label='1 STD') plt.axvline(mean + std, color='g', linestyle='dashed', linewidth=1) plt.axvline(mean - 2*std, color='b', linestyle='dashed', linewidth=1, label='2 STD') plt.axvline(mean + 2*std, color='b', linestyle='dashed', linewidth=1) plt.axvline(mean - 3*std, color='m', linestyle='dashed', linewidth=1, label='3 STD') plt.axvline(mean + 3*std, color='m', linestyle='dashed', linewidth=1) plt.legend() plt.xlabel('Value') plt.ylabel('Density') plt.title('Histogram of the Dataset') plt.show()
Histogram yang dihasilkan akan menunjukkan taburan data dengan min dan sisihan piawai yang ditandakan dengan garis putus-putus.
Untuk mengira peratusan yang diliputi oleh setiap julat, kita boleh menggunakan fungsi taburan terkumpul (CDF) taburan normal. Fungsi NumPy numpy.random.normal() menjana data yang diedarkan secara normal, tetapi NumPy juga menyediakan numpy.random.normal() untuk mengira CDF −
# Calculate the percentage within one standard deviation pct_within_1_std = np.sum(np.logical_and(data >= mean - std, data 7lt;= mean + std)) / len(data) # Calculate the percentage within two standard deviations pct_within_2_std = np.sum(np.logical_and(data >= mean - 2*std, data <= mean + 2*std)) / len(data) # Calculate the percentage within three standard deviations pct_within_3_std = np.sum(np.logical_and(data >= mean - 3*std, data <= mean + 3*std)) / len(data) print("Percentage within one standard deviation: {:.2%}".format(pct_within_1_std)) print("Percentage within two standard deviations: {:.2%}".format(pct_within_2_std)) print("Percentage within three standard deviations: {:.2%}".format(pct_within_3_std))
Apabila anda menjalankan kod ini, anda akan melihat peratusan data anda yang berada dalam 1, 2 dan 3 sisihan piawai min.
Percentage within one standard deviation: 68.27% Percentage within two standard deviations: 95.61% Percentage within three standard deviations: 99.70%
Keputusan ini sangat konsisten dengan peratusan yang dijangkakan untuk peraturan 68-95-99.7.
Peratusan yang diliputi oleh setiap julat mempunyai tafsiran tertentu. Data yang termasuk dalam satu sisihan piawai min adalah agak biasa, manakala data yang berada di luar tiga sisihan piawai min dianggap jarang berlaku. Memahami penjelasan ini membantu membuat kesimpulan yang bermakna tentang data.
Walaupun peraturan 68-95-99.7 ialah garis panduan yang berharga, ia mungkin tidak digunakan dengan tepat pada set data yang menyimpang dengan ketara daripada taburan normal. Apabila bekerja dengan set data sedemikian, adalah penting untuk mempertimbangkan teknik statistik lain dan menjalankan analisis selanjutnya.
Outlier boleh mempengaruhi ketepatan peratusan yang diliputi oleh setiap julat. Nilai melampau ini boleh memesongkan pengedaran dan menjejaskan keberkesanan peraturan. Pengenalpastian dan pengendalian outlier yang betul adalah penting untuk memastikan analisis statistik yang tepat.
Peraturan 68-95-99.7 terpakai di semua kawasan. Sebagai contoh, adalah penting dalam mengenal pasti produk yang rosak dalam proses kawalan kualiti, dalam menilai risiko dan pulangan pelaburan dalam analisis kewangan, dalam memahami ciri pesakit dalam penyelidikan penjagaan kesihatan, dan dalam memahami pengagihan data dalam banyak bidang lain.
Sambil anda mendalami statistik, pertimbangkan untuk meneroka konsep lain yang melengkapkan peraturan 68-95-99.7. Kecondongan, kurtosis, selang keyakinan, ujian hipotesis dan analisis regresi hanyalah beberapa contoh alat statistik yang boleh meningkatkan lagi pemahaman dan analisis data anda.
68-95-99.7 Peraturan ialah konsep yang berkuasa dalam statistik yang membolehkan kita memahami pengagihan data dari segi sisihan piawainya. Dengan menggunakan peraturan ini, kita boleh menganggarkan perkadaran data yang berada dalam julat tertentu di sekitar min. Dalam blog ini, kami menggunakan Python dan perpustakaan NumPy untuk menjana set data rawak, memvisualisasikannya dan mengira peratusan liputan setiap julat. Memahami peraturan ini membolehkan kami membuat inferens yang bermakna tentang data dan mengenal pasti kemungkinan outlier atau pemerhatian luar biasa.
Atas ialah kandungan terperinci Menunjukkan peraturan 68-95-99.7 dalam statistik menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!