public Tuple!(T, "lambda", T, "eta", T, "omega") properGeneralizedInverseGaussianEstimate(T)(
in T[] sample,
in T relTolerance = sqrt(T.epsilon),
in T absTolerance = sqrt(T.epsilon))
if(isFloatingPoint!T)
Estimates parameters of the proper generalized inverse Gaussian distribution.
Parameters
stat | GIG statistica. |
sample | obeservation. |
weights | sample weights. |
relTolerance | Relative tolerance. |
absTolerance | Absolute tolerance. |
Preconditions
ax
and bx
shall be finite reals.
relTolerance
shall be normal positive real.
absTolerance
shall be normal positive real no less then T.epsilon*2
.
References
"Algorithms for Minimization without Derivatives", Richard Brent, Prentice-Hall, Inc. (1973)
See Also:
Example
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 params1 = properGeneralizedInverseGaussianEstimate(sample);
auto params2 = properGeneralizedInverseGaussianFixedLambdaEstimate!double(lambda, sample);
auto lh0 = properGeneralizedInverseGaussianLikelihood(lambda, eta, omega, sample);
auto lh1 = properGeneralizedInverseGaussianLikelihood(params1.lambda, params1.eta, params1.omega, sample);
auto lh2 = properGeneralizedInverseGaussianLikelihood(lambda, params2.eta, params2.omega, sample);
assert(lh0 <= lh1);
assert(lh0 <= lh2);
assert(lh2 <= lh1);
public Tuple!(T, "lambda", T, "eta", T, "omega") properGeneralizedInverseGaussianEstimate(T)(
in T[] sample,
in T[] weights,
in T relTolerance = sqrt(T.epsilon),
in T absTolerance = sqrt(T.epsilon))
if(isFloatingPoint!T)
Estimates parameters of the proper generalized inverse Gaussian distribution.
Parameters
stat | GIG statistica. |
sample | obeservation. |
weights | sample weights. |
relTolerance | Relative tolerance. |
absTolerance | Absolute tolerance. |
Preconditions
ax
and bx
shall be finite reals.
relTolerance
shall be normal positive real.
absTolerance
shall be normal positive real no less then T.epsilon*2
.
References
"Algorithms for Minimization without Derivatives", Richard Brent, Prentice-Hall, Inc. (1973)
See Also:
Example
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 params1 = properGeneralizedInverseGaussianEstimate!double(sample, weights);
auto params2 = properGeneralizedInverseGaussianFixedLambdaEstimate!double(lambda, sample, weights);
auto lh0 = properGeneralizedInverseGaussianLikelihood(lambda, eta, omega, sample, weights);
auto lh1 = properGeneralizedInverseGaussianLikelihood(params1.lambda, params1.eta, params1.omega, sample, weights);
auto lh2 = properGeneralizedInverseGaussianLikelihood(lambda, params2.eta, params2.omega, sample, weights);
assert(lh0 <= lh1);
assert(lh0 <= lh2);
assert(lh2 <= lh1);
public Tuple!(T, "lambda", T, "eta", T, "omega") properGeneralizedInverseGaussianEstimate(T)(
in GeneralizedInverseGaussinStatistic!T stat,
in T relTolerance = sqrt(T.epsilon),
in T absTolerance = sqrt(T.epsilon))
if(isFloatingPoint!T)
Estimates parameters of the proper generalized inverse Gaussian distribution.
Parameters
stat | GIG statistica. |
sample | obeservation. |
weights | sample weights. |
relTolerance | Relative tolerance. |
absTolerance | Absolute tolerance. |
Preconditions
ax
and bx
shall be finite reals.
relTolerance
shall be normal positive real.
absTolerance
shall be normal positive real no less then T.epsilon*2
.
References
"Algorithms for Minimization without Derivatives", Richard Brent, Prentice-Hall, Inc. (1973)
See Also:
public Tuple!(T, "lambda", T, "chi", T, "psi") generalizedInverseGaussianEstimate(T)(
in T[] sample,
in T relTolerance = sqrt(T.epsilon),
in T absTolerance = sqrt(T.epsilon))
if(isFloatingPoint!T)
Estimates parameters of the generalized inverse Gaussian distribution.
Parameters
stat | GIG statistica. |
sample | obeservation. |
weights | sample weights. |
relTolerance | Relative tolerance. |
absTolerance | Absolute tolerance. |
Preconditions
ax
and bx
shall be finite reals.
relTolerance
shall be normal positive real.
absTolerance
shall be normal positive real no less then T.epsilon*2
.
References
"Algorithms for Minimization without Derivatives", Richard Brent, Prentice-Hall, Inc. (1973)
See Also:
Example
import std.range;
import std.random;
import atmosphere.random;
import atmosphere.likelihood;
import atmosphere.params;
auto length = 1000;
auto lambda = -2.0, chi = 1.4, psi = 2.3;
auto rng = Random(1234);
auto sample = new GeneralizedInverseGaussianRNG!double(rng, lambda, chi, psi).take(length).array;
auto params1 = generalizedInverseGaussianEstimate(sample);
auto params2 = generalizedInverseGaussianFixedLambdaEstimate!double(lambda, sample);
auto p0 = GIGChiPsi!double(chi, psi);
auto p1 = GIGChiPsi!double(params1.chi, params1.psi);
auto p2 = GIGChiPsi!double(params2.chi, params2.psi);
auto lh0 = properGeneralizedInverseGaussianLikelihood(lambda, p0.eta, p0.omega, sample);
auto lh1 = properGeneralizedInverseGaussianLikelihood(params1.lambda, p1.eta, p1.omega, sample);
auto lh2 = properGeneralizedInverseGaussianLikelihood(lambda, p2.eta, p2.omega, sample);
assert(lh0 <= lh1);
assert(lh0 <= lh2);
assert(lh2 <= lh1);
public Tuple!(T, "lambda", T, "chi", T, "psi") generalizedInverseGaussianEstimate(T)(
in T[] sample,
in T[] weights,
in T relTolerance = sqrt(T.epsilon),
in T absTolerance = sqrt(T.epsilon))
if(isFloatingPoint!T)
Estimates parameters of the generalized inverse Gaussian distribution.
Parameters
stat | GIG statistica. |
sample | obeservation. |
weights | sample weights. |
relTolerance | Relative tolerance. |
absTolerance | Absolute tolerance. |
Preconditions
ax
and bx
shall be finite reals.
relTolerance
shall be normal positive real.
absTolerance
shall be normal positive real no less then T.epsilon*2
.
References
"Algorithms for Minimization without Derivatives", Richard Brent, Prentice-Hall, Inc. (1973)
See Also:
Example
import std.range;
import std.random;
import atmosphere.random;
import atmosphere.likelihood;
import atmosphere.params;
auto length = 1000;
auto lambda = -2.0, chi = 1.4, psi = 2.3;
auto rng = Random(1234);
auto sample = new GeneralizedInverseGaussianRNG!double(rng, lambda, chi, psi).take(length).array;
auto weights = iota(1.0, length + 1.0).array;
auto params1 = generalizedInverseGaussianEstimate!double(sample, weights);
auto params2 = generalizedInverseGaussianFixedLambdaEstimate!double(lambda, sample, weights);
auto p0 = GIGChiPsi!double(chi, psi);
auto p1 = GIGChiPsi!double(params1.chi, params1.psi);
auto p2 = GIGChiPsi!double(params2.chi, params2.psi);
auto lh0 = properGeneralizedInverseGaussianLikelihood(lambda, p0.eta, p0.omega, sample, weights);
auto lh1 = properGeneralizedInverseGaussianLikelihood(params1.lambda, p1.eta, p1.omega, sample, weights);
auto lh2 = properGeneralizedInverseGaussianLikelihood(lambda, p2.eta, p2.omega, sample, weights);
assert(lh0 <= lh1);
assert(lh0 <= lh2);
assert(lh2 <= lh1);
public Tuple!(T, "lambda", T, "chi", T, "psi") generalizedInverseGaussianEstimate(T)(
in GeneralizedInverseGaussinStatistic!T stat,
in T relTolerance = sqrt(T.epsilon),
in T absTolerance = sqrt(T.epsilon))
if(isFloatingPoint!T)
Estimates parameters of the generalized inverse Gaussian distribution.
Parameters
stat | GIG statistica. |
sample | obeservation. |
weights | sample weights. |
relTolerance | Relative tolerance. |
absTolerance | Absolute tolerance. |
Preconditions
ax
and bx
shall be finite reals.
relTolerance
shall be normal positive real.
absTolerance
shall be normal positive real no less then T.epsilon*2
.
References
"Algorithms for Minimization without Derivatives", Richard Brent, Prentice-Hall, Inc. (1973)
See Also:
public Tuple!(T, "eta", T, "omega") properGeneralizedInverseGaussianFixedLambdaEstimate(T)(
in T lambda,
in T[] sample)
if(isFloatingPoint!T)
Estimates parameters of the proper generalized inverse Gaussian distribution for fixed lambda
.
See Also:
Example
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 params = properGeneralizedInverseGaussianFixedLambdaEstimate!double(lambda, sample);
auto lh0 = properGeneralizedInverseGaussianLikelihood(lambda, eta, omega, sample);
auto lh1 = properGeneralizedInverseGaussianLikelihood(lambda, params.eta, params.omega, sample);
assert(lh0 <= lh1);
public Tuple!(T, "eta", T, "omega") properGeneralizedInverseGaussianFixedLambdaEstimate(T)(
in T lambda,
in T[] sample,
in T[] weights)
if(isFloatingPoint!T)
Estimates parameters of the proper generalized inverse Gaussian distribution for fixed lambda
.
See Also:
Example
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 params = properGeneralizedInverseGaussianFixedLambdaEstimate!double(lambda, sample, weights);
auto lh0 = properGeneralizedInverseGaussianLikelihood(lambda, eta, omega, sample, weights);
auto lh1 = properGeneralizedInverseGaussianLikelihood(lambda, params.eta, params.omega, sample, weights);
assert(lh0 <= lh1);
public Tuple!(T, "eta", T, "omega") properGeneralizedInverseGaussianFixedLambdaEstimate(T)(
in T lambda,
in GeneralizedInverseGaussinFixedLambdaStatistic!T stat)
if(isFloatingPoint!T)
Estimates parameters of the proper generalized inverse Gaussian distribution for fixed lambda
.
Contracts
in
{
assert (isNormal(lambda));
}
See Also:
public Tuple!(T, "chi", T, "psi") generalizedInverseGaussianFixedLambdaEstimate(T)(
in T lambda,
in T[] sample)
if(isFloatingPoint!T)
Estimates parameters of the generalized inverse Gaussian distribution for fixed lambda
.
See Also:
Example
import std.range;
import std.random;
import atmosphere.random;
import atmosphere.likelihood;
import atmosphere.params;
auto length = 1000;
auto lambda = -2.0, chi = 1.4, psi = 2.3;
auto rng = Random(1234);
auto sample = new GeneralizedInverseGaussianRNG!double(rng, lambda, chi, psi).take(length).array;
auto params = generalizedInverseGaussianFixedLambdaEstimate!double(lambda, sample);
auto p0 = GIGChiPsi!double(chi, psi);
auto p1 = GIGChiPsi!double(params.chi, params.psi);
auto lh0 = properGeneralizedInverseGaussianLikelihood(lambda, p0.chi, p0.psi, sample);
auto lh1 = properGeneralizedInverseGaussianLikelihood(lambda, p1.chi, p1.psi, sample);
assert(lh0 <= lh1);
public Tuple!(T, "chi", T, "psi") generalizedInverseGaussianFixedLambdaEstimate(T)(
in T lambda,
in T[] sample,
in T[] weights)
if(isFloatingPoint!T)
Estimates parameters of the generalized inverse Gaussian distribution for fixed lambda
.
See Also:
Example
import std.range;
import std.random;
import atmosphere.random;
import atmosphere.likelihood;
import atmosphere.params;
auto length = 1000;
auto lambda = -2.0, chi = 1.4, psi = 2.3;
auto rng = Random(1234);
auto sample = new GeneralizedInverseGaussianRNG!double(rng, lambda, chi, psi).take(length).array;
auto weights = iota(1.0, length + 1.0).array;
auto params = generalizedInverseGaussianFixedLambdaEstimate!double(lambda, sample, weights);
auto p0 = GIGChiPsi!double(chi, psi);
auto p1 = GIGChiPsi!double(params.chi, params.psi);
auto lh0 = properGeneralizedInverseGaussianLikelihood(lambda, p0.chi, p0.psi, sample, weights);
auto lh1 = properGeneralizedInverseGaussianLikelihood(lambda, p1.chi, p1.psi, sample, weights);
assert(lh0 <= lh1);
public Tuple!(T, "chi", T, "psi") generalizedInverseGaussianFixedLambdaEstimate(T)(
in T lambda,
in GeneralizedInverseGaussinFixedLambdaStatistic!T stat)
if(isFloatingPoint!T)
Estimates parameters of the generalized inverse Gaussian distribution for fixed lambda
.
Contracts
in
{
assert (isNormal(lambda));
}
See Also:
public T properGeneralizedInverseGaussianFixedLambdaEtaEstimate(T)(
in T lambda,
in T eta,
in T[] sample)
if(isFloatingPoint!T)
Estimates parameter omega
of the proper generalized inverse Gaussian distribution for fixed lambda
and eta
.
See Also:
Example
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);
public T properGeneralizedInverseGaussianFixedLambdaEtaEstimate(T)(
in T lambda,
in T eta,
in T[] sample,
in T[] weights)
if(isFloatingPoint!T)
Estimates parameter omega
of the proper generalized inverse Gaussian distribution for fixed lambda
and eta
.
See Also:
Example
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);
public T properGeneralizedInverseGaussianFixedLambdaEtaEstimate(T)(
in T lambda,
in T eta,
in GeneralizedInverseGaussinFixedLambdaStatistic!T stat)
if(isFloatingPoint!T)
Estimates parameter omega
of the proper generalized inverse Gaussian distribution for fixed lambda
and eta
.
Contracts
in
{
assert (isNormal(lambda));
}
See Also:
Functions
properGeneralizedInverseGaussianEstimate | Estimates parameters of the proper generalized inverse Gaussian distribution. | |
properGeneralizedInverseGaussianEstimate | Estimates parameters of the proper generalized inverse Gaussian distribution. | |
properGeneralizedInverseGaussianEstimate | Estimates parameters of the proper generalized inverse Gaussian distribution. | |
generalizedInverseGaussianEstimate | Estimates parameters of the generalized inverse Gaussian distribution. | |
generalizedInverseGaussianEstimate | Estimates parameters of the generalized inverse Gaussian distribution. | |
generalizedInverseGaussianEstimate | Estimates parameters of the generalized inverse Gaussian distribution. | |
properGeneralizedInverseGaussianFixedLambdaEstimate | Estimates parameters of the proper generalized inverse Gaussian distribution for fixed | |
properGeneralizedInverseGaussianFixedLambdaEstimate | Estimates parameters of the proper generalized inverse Gaussian distribution for fixed | |
properGeneralizedInverseGaussianFixedLambdaEstimate | Estimates parameters of the proper generalized inverse Gaussian distribution for fixed | |
generalizedInverseGaussianFixedLambdaEstimate | Estimates parameters of the generalized inverse Gaussian distribution for fixed | |
generalizedInverseGaussianFixedLambdaEstimate | Estimates parameters of the generalized inverse Gaussian distribution for fixed | |
generalizedInverseGaussianFixedLambdaEstimate | Estimates parameters of the generalized inverse Gaussian distribution for fixed | |
properGeneralizedInverseGaussianFixedLambdaEtaEstimate | Estimates parameter | |
properGeneralizedInverseGaussianFixedLambdaEtaEstimate | Estimates parameter | |
properGeneralizedInverseGaussianFixedLambdaEtaEstimate | Estimates parameter |