Como calcular e plotar cdf normal em python


Uma função de distribuição cumulativa ( CDF ) nos diz a probabilidade de uma variável aleatória assumir um valor menor ou igual a um determinado valor.

Este tutorial explica como calcular e plotar valores normais de CDF em Python.

Exemplo 1: Calcular probabilidades normais de CDF em Python

A maneira mais fácil de calcular probabilidades normais de CDF em Python é usar a função norm.cdf() da biblioteca SciPy .

O código a seguir mostra como calcular a probabilidade de uma variável aleatória assumir um valor menor que 1,96 em uma distribuição normal padrão:

 from scipy. stats import norm

#calculate probability that random value is less than 1.96 in normal CDF
norm. cdf ( 1.96 )

0.9750021048517795

A probabilidade de uma variável aleatória assumir um valor inferior a 1,96 em uma distribuição normal padrão é de aproximadamente 0,975 .

Também podemos encontrar a probabilidade de uma variável aleatória assumir um valor maior que 1,96 simplesmente subtraindo esse valor de 1:

 from scipy. stats import norm

#calculate probability that random value is greater than 1.96 in normal CDF
1 - norm. cdf ( 1.96 )

0.024997895148220484

A probabilidade de uma variável aleatória assumir um valor superior a 1,96 em uma distribuição normal padrão é de aproximadamente 0,025 .

Exemplo 2: Traçando o CDF Normal

O código a seguir mostra como plotar um CDF normal em Python:

 import matplotlib. pyplot as plt
import numpy as np
import scipy. stats as ss

#define x and y values to use for CDF
x = np. linspace (-4, 4, 1000)
y = ss. norm . cdf (x)

#normal plot CDF
plt. plot (x, y) 

CDF normal em python

O eixo x mostra os valores de uma variável aleatória que segue uma distribuição normal padrão e o eixo y mostra a probabilidade de uma variável aleatória assumir um valor menor que o valor mostrado no eixo x.

Por exemplo, se olharmos para x = 1,96, veremos que a probabilidade cumulativa de x ser menor que 1,96 é de aproximadamente 0,975 .

Sinta-se à vontade para alterar também as cores e rótulos dos eixos do gráfico CDF normal:

 import matplotlib. pyplot as plt
import numpy as np
import scipy. stats as ss

#define x and y values to use for CDF
x = np. linspace (-4, 4, 1000)
y = ss. norm . cdf (x)

#normal plot CDF
plt. plot (x,y,color=' red ')
plt. title (' Normal CDF ')
plt. xlabel (' x ')
plt. ylabel (' CDF ')

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em Python:

Como gerar uma distribuição normal em Python
Como traçar uma distribuição normal em Python

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *