Mathematica中的卡方桌

问题描述

我想为任意给定数量的自由度k计算与给定卡方值相关的概率。我可以轻松想到以下代码

P[chisquare_,k_] = Manipulate[NIntegrate[PDF[ChiSquaredistribution[k],x],{x,chisquare,Infinity}],{chisquare,10},{k,1,10}]

但是我想知道:有什么办法可以做相反的事情吗?我的意思是将概率P作为输入并获得相关的卡方值?就像我想编译类似https://www.medcalc.org/manual/chi-square-table.php

的卡方表一样

我尝试使用Solve,但未完成任何操作,是否有简便的方法解决此问题?

解决方法

您可以与CFD进行集成,并与Quantile进行反向操作,例如

NIntegrate[PDF[ChiSquareDistribution[2],a],{a,3.0}]

0.77687

p = CDF[ChiSquareDistribution[2],3.0]

0.77687

Quantile[ChiSquareDistribution[2],p]

重新。您的链接

enter image description here

Quantile[ChiSquareDistribution[2],1 - #] & /@ {0.995,0.975,0.20,0.10,0.05};
SetPrecision[#,If[# < 1,3,4]] & /@ %

{0.0100,0.0506,3.219,4.605,5.991}