Menu
CoddyTech

Wartość oczekiwana

Część sekcji Statystyka w uczeniu maszynowym ścieżki Machine Learning w Coddy. Lekcja 16 z 64.

Loteria: 70% losów nie wygrywa nic, 25% wygrywa 5 dolarów, a 5% wygrywa 20. Ile wart jest jeden los?

Trzy słupki przedstawiające nagrody w loterii: 0, 5 i 20 dolarów, z prawdopodobieństwami 0.7, 0.25 i 0.05. Słupki stoją na belce przypominającej huśtawkę, zrównoważonej na trójkącie w punkcie 2.25, czyli wartości oczekiwanej

Pomnóż każdą nagrodę przez odpowiadającą jej szansę i dodaj wyniki: to wartość oczekiwana, czyli punkt równowagi wykresu:

prizes = np.array([0, 5, 20])
chances = np.array([0.7, 0.25, 0.05])
print((prizes * chances).sum())

To wypisuje 2.25, średnią długookresową, choć żaden los nie wygrywa takiej kwoty. rng.choice z p= losuje losy zgodnie z tymi prawdopodobieństwami:

rng = np.random.default_rng(1)
tickets = rng.choice(prizes, size=10000, p=chances)
print(tickets.mean())

To wypisuje 2.298. Przy cenie 3 dolarów kupujący traci 0.75 na każdym bilecie. Średni błąd modelu na nowych danych również jest wartością oczekiwaną.

challenge icon

Wyzwanie

Średni

Koło na festynie wypłaca żetony określone w prizes, a każda strefa ma przypisaną szansę w chances. Kod początkowy wylosował 4000 wyników do spins; program odczytuje cenę jednego obrotu.

  1. Wypisz oczekiwaną wygraną, a następnie średnią z symulacji — obie wartości z dokładnością do 2 miejsc po przecinku.
  2. Wypisz, czy w dłuższej perspektywie gracz zyskuje, czy traci na każdym obrocie, oraz jaką kwotę.

Dla innego koła i ceny 1.5:

Expected prize: 1.1 tokens
Simulated average: 1.08 tokens
A player loses 0.4 tokens a spin

Spróbuj swoich sił

import numpy as np

price = float(input())

# Wygrana w każdej strefie koła, w tokenach, oraz prawdopodobieństwo jej uzyskania
prizes = np.array([0, 1, 4, 10])
chances = np.array([0.5, 0.3, 0.15, 0.05])

# Nie zmieniaj poniższych wierszy: 4000 symulowanych obrotów
rng = np.random.default_rng(9)
spins = rng.choice(prizes, size=4000, p=chances)

# Napisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Statystyka w uczeniu maszynowym

Poćwicz samodzielnie: Kompilator Python online