Bagaimanakah Saya Boleh Menyesuaikan Taburan Empirikal kepada Taburan Teori Menggunakan SciPy dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-11-24 09:58:11
asal
237 orang telah melayarinya

How Can I Fit an Empirical Distribution to a Theoretical One Using SciPy in Python?

Menyesuaikan Taburan Empirikal kepada Yang Teoretikal Menggunakan Scipy (Python)

Dalam perangkaan, selalunya perlu untuk memuatkan taburan empirikal, diperoleh daripada data yang diperhatikan, kepada taburan teori yang paling menggambarkan data. Ini membolehkan pengiraan kebarangkalian dan inferens statistik lain.

Pelaksanaan dalam Python (Scipy)

Scipy menyediakan pelbagai fungsi pengedaran yang boleh dipasang pada data . Untuk mencari taburan yang paling sesuai, kaedah kuasa dua terkecil selalunya digunakan untuk meminimumkan jumlah ralat kuasa dua (SSE) antara histogram data dan histogram taburan terpasang.

import numpy as np
import scipy.stats as st

# Data points
data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# Candidate theoretical distributions
distributions = ['norm', 'beta', 'gamma']

# Iterate over distributions and find best fit
best_dist = None
lowest_sse = float('inf')
for dist_name in distributions:
    dist = getattr(st, dist_name)

    # Fit distribution to data
    params = dist.fit(data)

    # Evaluate SSE
    sse = np.sum((np.histogram(data, bins=10, density=True)[0] - dist.pdf(np.linspace(0, 10, 100), *params))**2)

    # Update best distribution if lower SSE found
    if sse < lowest_sse:
        lowest_sse = sse
        best_dist = dist

# Calculate p-value for a given value
value = 5
p_value = best_dist.cdf(value)
Salin selepas log masuk

< h2>Contoh

Dalam contoh di atas, taburan empirikal data dipasang pada tiga berbeza taburan teori (normal, beta, dan gamma). Taburan gamma didapati mempunyai SSE terendah dan oleh itu paling sesuai. Nilai-p untuk nilai 5 kemudiannya dikira sebagai fungsi taburan kumulatif taburan gamma yang dinilai pada 5.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyesuaikan Taburan Empirikal kepada Taburan Teori Menggunakan SciPy dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan