scipy.stats.
chi2_contingency
(observed, correction=True, lambda_=None)¶
Chi-square test of independence of variables in a contingency table.
Esta função calcula a estatística do Qui-quadrado e o valor de p para o teste da tipotese da independência das frequências observadas na tabela de pontualidade observada. As frequências esperadas são computadas com base nas somas marginais sob o pressuposto da Independência; verscipy.stats.contingency.expected_freq
. O número de graus offreedom é (expressas através numpy funções e atributos):
dof = observed.size - sum(observed.shape) + observed.ndim - 1
Parâmetros observedarray_like
A tabela de contingência. A tabela contém as frequências observadas (ou seja, o número de ocorrências) em cada categoria. No caso de duas dimensões, a tabela é muitas vezes descrita como uma “tabela R x C”.
correctionbool, opcional
Se for verdadeiro, e os graus de liberdade forem 1, aplica a correcção de Yates para continuidade. O efeito da correcção consiste em ajustar cada valor observado em 0,5 em relação ao valor esperado correspondente.
lambda_float ou str, facultativo.
Por padrão, a estatística calculada neste teste é a estatística de Pearson’schi-quadrado . lambda_ permite a utilização de uma estatística da família de divergência de poder de leitura crítica. Seepower_divergence
for details.
Devolve chi2float
a estatística do teste.
pfloat
o valor de p do ensaio
dofint
graus de liberdade
expectedndarray, a mesma forma que foi observada
As frequências esperadas, com base nas somas marginais da tabela.Nota
Nota
uma orientação frequentemente citada para a validade deste cálculo é que o teste só deve ser utilizado se as frequências observadas e esperadas em cada célula forem, pelo menos, 5.este é um teste para a independência de diferentes categorias de população. O ensaio só é significativo quando a dimensão do observável for duas ou mais. A aplicação do ensaio a um dimensional único resultará sempre em estatísticas esperadas iguais às observadas e achi-quadradas iguais a 0.
Esta função não lida com arrays mascarados, porque a cálculo não faz sentido com valores em falta.estatísticas semelhantes.chisquare, esta função calcula uma estatística de Qui-quadrado;a conveniência que esta função fornece é a de descobrir as frequências esperadas e os graus de liberdade da tabela de contingência dada.Se estes já fossem conhecidos, e se a correção de Yates não fosse necessária, poderíamos usar estatísticas.chisquare. Isto é, se um de chamadas:
chi2, p, dof, ex = chi2_contingency(obs, correction=False)
em seguida, o seguinte é verdadeiro:
(chi2, p) == stats.chisquare(obs.ravel(), f_exp=ex.ravel(), ddof=obs.size - 1 - dof)
O lambda_ argumento foi adicionado na versão 0.13.0 de scipy.
1
“tabela de Contingência”,https://en.wikipedia.org/wiki/Contingency_table
2
“de Pearson chi-squared test”,https://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test
3
Cressie, N. e Leitura, T. R. C., “Multinomial Bondade-de-FitTests”, J. Royal Stat. Soc. Series B, Vol. 46, No. 3 (1984), pp. 440-464.
exemplos
um exemplo de duas vias (2 x 3):
>>> from scipy.stats import chi2_contingency>>> obs = np.array(, ])>>> chi2_contingency(obs)(2.7777777777777777, 0.24935220877729619, 2, array(, ]))
execute o ensaio utilizando a razão logarítmica (isto é, o “teste G”)em vez da estatística chi-quadrado de Pearson.
>>> g, p, dof, expctd = chi2_contingency(obs, lambda_="log-likelihood")>>> g, p(2.7688587616781319, 0.25046668010954165)
um exemplo de quatro vias (2 x 2 x 2 x 2 x 2):