Please excuse me if I am making any logical error in posting this question since I am not a math major. However, let me post my question.

I am trying to fit multivariate parametric distribution to data. Mathematica has nice built in function such as FindDistributionParameters for that purpose. Mathematica also has function DistributionFitTest that helps us to test the goodness of the fit. But I want to test whether the fitted parameters are different form another vector (or a number in case of univariate distribution). Does Mathematica have any functions that help me to achieve this objective?

To be more precise, let me start with an example form Mathematica Documentation:

data = RandomVariate[BinormalDistribution[{1, 2}, {1/3, 4}, 3/4], 1000];
params = FindDistributionParameters[data, 
  BinormalDistribution[{Subscript[μ, 1], Subscript[μ, 
    2]}, {Subscript[σ, 1], Subscript[σ, 2]}, ρ]] 

We get the following answer:

 {Subscript[μ, 1] -> 1.02289, Subscript[μ, 2] -> 2.11384, 
 Subscript[σ, 1] -> 0.328791, 
 Subscript[σ, 2] -> 4.09696, ρ -> 0.75787}

Now I would like to test a null hypothesis as one of the expressions below. Or, may we try to test the joint hypothesis?

{Subscript[μ, 1] = 1, Subscript[μ, 2] = 2, 
 Subscript[σ, 1] = .4, 
 Subscript[σ, 2] = 4.5, ρ = 0.85}

In that case, does Mathematica has any helpful function to perform this kind of hypothesis?

Please guide me without much programming. Thank you in advance.

  • $\begingroup$ I believe you need the KolmogorovSmirnovTest but better statisticians than me might have other suggestions. Also, I would strongly recommend against using Subscript for variable names. Try simple indices like \[Mu][1] instead. $\endgroup$
    – Verbeia
    Dec 1, 2014 at 6:48
  • $\begingroup$ @ verbia thanks your comment $\endgroup$
    – ramesh
    Dec 1, 2014 at 11:56

1 Answer 1


Well in the particular case of a BinormalDistribution there are plenty of tests available for the individual hypotheses.

data = RandomVariate[BinormalDistribution[{1, 2}, {1/3, 4}, 3/4], 1000];

To test the mean vector..

LocationTest[data, {1, 2}]

(* 0.174306 *)

The variances can only be tested independently since there is no multivariate variance test.

{VarianceTest[data[[All, 1]], .4^2], VarianceTest[data[[All, 2]], 4.5^2]}
(* {8.8322*10^-16, 2.79038*10^-8} *)

And the correlation...

CorrelationTest[data, .85]
(* 1.01555*10^-17 *)

Unfortunately there is no way to test against a particular multivariate normal distribution, the built in tests seem to always test against the family of multivariate normals. Thus the joint test will take some doing.

  • $\begingroup$ @ Andy, thank you for taking your time to answer my question. I was wondering if you would be able to tell something about testing parameters related to copulas. Thank you again $\endgroup$
    – ramesh
    Dec 1, 2014 at 13:34
  • $\begingroup$ Not off hand. I'm sure someone over at stats.stackexchange.com could get you started $\endgroup$
    – Andy Ross
    Dec 1, 2014 at 13:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.