Menu
CoddyTech

Sampel atau Populasi?

Termasuk bagian Statistik untuk ML dalam perjalanan Machine Learning di Coddy. Pelajaran 4 dari 64.

Seorang peternak lebah menimbang madu dari 5 sarang lebah, dalam kg. NumPy dan pandas memberikan hasil std yang berbeda:

values = [18, 22, 25, 19, 26]
print(np.round(np.std(values), 2))
print(np.round(pd.Series(values).std(), 2))

Ini mencetak:

3.16
3.54

Keduanya menjumlahkan deviasi kuadrat yang sama, lalu membaginya:

Deviasi kuadrat dari 5 sarang lebah, 16, 0, 9, 9, dan 16, berjumlah 50. Satu panah mengarah ke np.std: 50 / 5 = 10, std 3.16, rumus populasi. Panah lainnya mengarah ke pandas: 50 / 4 = 12.5, std 3.54, rumus sampel

Membagi dengan n cocok untuk populasi, karena setiap nilainya ada di sana. Sampel berpusat pada rata-ratanya sendiri, sehingga penyebarannya tampak kecil; n - 1 mengimbanginya.

ddof=1 memberi tahu NumPy untuk menggunakan rumus sampel: np.std(a, ddof=1) cocok dengan pandas. Data model adalah sampel: perbedaan nilai std antara alat disebabkan oleh ddof, bukan bug.

challenge icon

Tantangan

Mudah

Seorang ahli biologi mendapatkan dua nilai std yang berbeda untuk rentang sayap beberapa kelelawar, dalam cm. Kode awal membaca nilainya ke dalam array spans dan Series column; pemeriksaannya mencetak False.

  1. Kelelawar yang diamati merupakan sampel: perbaiki baris NumPy agar kedua alat menghasilkan std sampel.
  2. Di bawahnya, cetak selisih antara np.std(spans) bawaan NumPy dan column.std(), hingga 2 angka desimal.

Untuk rentang sayap 33, 27, 30, 35, dan 29:

Sample std: 3.19 cm, tools agree: True
Dividing by n underestimated it by 0.34 cm

Coba sendiri

import numpy as np
import pandas as pd

n = int(input())
values = []
for i in range(n):
    values.append(int(input()))
spans = np.array(values)
column = pd.Series(values)

# Pemeriksaan ini mencetak False: perbaiki baris NumPy agar kedua alat menghasilkan simpangan baku sampel
numpy_std = np.round(np.std(spans), 2)
pandas_std = np.round(column.std(), 2)
print(f"Sample std: {numpy_std} cm, tools agree: {numpy_std == pandas_std}")

# Tulis kodemu di bawah ini
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Statistik untuk ML

Latihan sendiri: Compiler Python online