Hoe de stelling van bayes in python toe te passen
De stelling van Bayes luidt als volgt voor twee gebeurtenissen A en B :
P(A|B) = P(A)*P(B|A) / P(B)
Goud:
- P(A|B): De waarschijnlijkheid dat gebeurtenis A, gegeven gebeurtenis B, heeft plaatsgevonden.
- P(B|A): De waarschijnlijkheid dat gebeurtenis B heeft plaatsgevonden, gegeven het feit dat gebeurtenis A heeft plaatsgevonden.
- P(A): De waarschijnlijkheid van gebeurtenis A.
- P(B): De waarschijnlijkheid van gebeurtenis B.
Stel bijvoorbeeld dat de kans dat het bewolkt is 40% is.
Laten we ook aannemen dat de kans op regen op een bepaalde dag 20% is.
Laten we ook aannemen dat de kans op bewolking op een regenachtige dag 85% is.
Als het op een bepaalde dag buiten bewolkt is, hoe groot is dan de kans dat het die dag gaat regenen?
Oplossing :
- P(bewolkt) = 0,40
- P(regen) = 0,20
- P(bewolkt | regen) = 0,85
Zo kunnen we berekenen:
- P(regen | bewolkt) = P(regen) * P(bewolkt | regen) / P(bewolkt)
- P(regen | bewolkt) = 0,20 * 0,85 / 0,40
- P(regen | bewolkt) = 0,425
Als het op een bepaalde dag buiten bewolkt is, is de kans dat het die dag regent 42,5% .
We kunnen de volgende eenvoudige functie maken om de stelling van Bayes in Python toe te passen:
def bayesTheorem (pA, pB, pBA): return pA * pBA / pB
Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld: de stelling van Bayes in Python
Stel dat we de volgende kansen kennen:
- P(regen) = 0,20
- P(bewolkt) = 0,40
- P(bewolkt | regen) = 0,85
Om P(regen | bewolkt) te berekenen, kunnen we de volgende syntaxis gebruiken:
#define function for Bayes' theorem def bayesTheorem (pA, pB, pBA): return pA * pBA / pB #define probabilities pRain = 0.2 pCloudy = 0.4 pCloudyRain = 0.85 #use function to calculate conditional probability bayesTheorem(pRain, pCloudy, pCloudyRain) 0.425
Dit vertelt ons dat als het op een bepaalde dag buiten bewolkt is, de kans dat het die dag regent 0,425 of 42,5% is.
Dit komt overeen met de waarde die we eerder handmatig hebben berekend.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in Python kunt uitvoeren:
Hoe voorwaardelijke waarschijnlijkheid in Python te berekenen
Hoe de verwachte waarde in Python te berekenen
Hoe een getrimd gemiddelde in Python te berekenen