properGeneralizedInverseGaussianFixedLambdaEtaEstimate

Estimates parameter omega of the proper generalized inverse Gaussian distribution for fixed lambda and eta.

  1. T properGeneralizedInverseGaussianFixedLambdaEtaEstimate(T lambda, T eta, T[] sample)
    T
    properGeneralizedInverseGaussianFixedLambdaEtaEstimate
    (
    T
    )
    (
    in T lambda
    ,
    in T eta
    ,
    in T[] sample
    )
    if (
    isFloatingPoint!T
    )
  2. T properGeneralizedInverseGaussianFixedLambdaEtaEstimate(T lambda, T eta, T[] sample, T[] weights)
  3. T properGeneralizedInverseGaussianFixedLambdaEtaEstimate(T lambda, T eta, GeneralizedInverseGaussinFixedLambdaStatistic!T stat)

Examples

import std.range;
import std.random;
import atmosphere.random;
import atmosphere.likelihood;
auto length = 1000;
auto lambda = -2.0, eta = 1.4, omega = 2.3;
auto rng = Random(1234);
auto sample = ProperGeneralizedInverseGaussianSRNG!double(rng, lambda, eta, omega).take(length).array;
auto omega1 = properGeneralizedInverseGaussianFixedLambdaEtaEstimate!double(lambda, eta, sample);
auto lh0 = properGeneralizedInverseGaussianLikelihood(lambda, eta, omega , sample);
auto lh1 = properGeneralizedInverseGaussianLikelihood(lambda, eta, omega1, sample);
assert(lh0 <= lh1);
import std.range;
import std.random;
import atmosphere.random;
import atmosphere.likelihood;
auto length = 1000;
auto lambda = -2.0, eta = 1.4, omega = 2.3;
auto rng = Random(1234);
auto sample = ProperGeneralizedInverseGaussianSRNG!double(rng, lambda, eta, omega).take(length).array;
auto weights = iota(1.0, length + 1.0).array;
auto omega1 = properGeneralizedInverseGaussianFixedLambdaEtaEstimate!double(lambda, eta, sample, weights);
auto lh0 = properGeneralizedInverseGaussianLikelihood(lambda, eta, omega , sample, weights);
auto lh1 = properGeneralizedInverseGaussianLikelihood(lambda, eta, omega1, sample, weights);
assert(lh0 <= lh1);

See Also

atmosphere.params

Meta