public FuncionWeibull0_5(double[] eventos) : base(eventos)
 {
     try
     {
         DistribucionContinua = new WeibullDistribution(shape, scale);
         Resultado            = new ResultadoAjuste(StringFDP, StringInversa, DistribucionContinua.StandardDeviation, DistribucionContinua.Mean, DistribucionContinua.Variance, this);
     }
     catch (Exception)
     {
         Resultado = null;
     }
 }
Exemple #2
0
 public FuncionExponencial(double[] eventos) : base(eventos)
 {
     try
     {
         DistribucionContinua = new ExponentialDistribution();
         DistribucionContinua.Fit(eventos);
         this.L    = ((ExponentialDistribution)DistribucionContinua).Rate.ToString("0.0000");
         Resultado = new ResultadoAjuste(StringFDP, StringInversa, DistribucionContinua.StandardDeviation, DistribucionContinua.Mean, DistribucionContinua.Variance, this);
     }
     catch (Exception)
     {
         Resultado = null;
     }
 }
 public FuncionPoisson(double[] eventos) : base(eventos)
 {
     try
     {
         DistribucionDiscreta = new PoissonDistribution();
         DistribucionDiscreta.Fit(eventos);
         lambda    = ((PoissonDistribution)DistribucionDiscreta).Lambda.ToString("0.0000");
         Resultado = new ResultadoAjuste(StringFDP, StringInversa, DistribucionDiscreta.StandardDeviation, DistribucionDiscreta.Mean, DistribucionDiscreta.Variance, this);
     }
     catch (Exception)
     {
         Resultado = null;
     }
 }
Exemple #4
0
 public FuncionLogNormal(double[] eventos) : base(eventos)
 {
     try
     {
         DistribucionContinua = new LognormalDistribution();
         DistribucionContinua.Fit(eventos);
         media     = ((LognormalDistribution)DistribucionContinua).Mean.ToString("0.0000");
         sigma     = ((LognormalDistribution)DistribucionContinua).StandardDeviation.ToString("0.0000");
         Resultado = new ResultadoAjuste(StringFDP, StringInversa, DistribucionContinua.StandardDeviation, DistribucionContinua.Mean, DistribucionContinua.Variance, this);
     }
     catch (Exception)
     {
         Resultado = null;
     }
 }
 public FuncionBinomial(double[] eventos) : base(eventos)
 {
     try
     {
         DistribucionDiscreta = new BinomialDistribution();
         DistribucionDiscreta.Fit(eventos);
         n         = ((BinomialDistribution)DistribucionDiscreta).NumberOfTrials.ToString("0.0000");
         p         = ((BinomialDistribution)DistribucionDiscreta).ProbabilityOfSuccess.ToString("0.0000");
         Resultado = new ResultadoAjuste(StringFDP, StringInversa, DistribucionDiscreta.StandardDeviation, DistribucionDiscreta.Mean, DistribucionDiscreta.Variance, this);
     }
     catch (Exception)
     {
         Resultado = null;
     }
 }
 public FuncionUniforme(double[] eventos) : base(eventos)
 {
     try
     {
         DistribucionContinua = new UniformContinuousDistribution();
         DistribucionContinua.Fit(eventos);
         A         = ((UniformContinuousDistribution)DistribucionContinua).Minimum.ToString("0.0000");
         B         = ((UniformContinuousDistribution)DistribucionContinua).Maximum.ToString("0.0000");
         Resultado = new ResultadoAjuste(StringFDP, StringInversa, DistribucionContinua.StandardDeviation, DistribucionContinua.Mean, DistribucionContinua.Variance, this);
     }
     catch (Exception)
     {
         Resultado = null;
     }
 }
Exemple #7
0
 public FuncionLogistica(double[] eventos) : base(eventos)
 {
     try
     {
         double media = eventos.Average();
         int    n     = eventos.Count();
         double sigma = eventos.Sum(x => Math.Pow(x - media, 2)) / n;
         DistribucionContinua = new LogisticDistribution(media, sigma);
         this.MU   = ((LogisticDistribution)DistribucionContinua).Location.ToString("0.0000");
         this.S    = ((LogisticDistribution)DistribucionContinua).Scale.ToString("0.0000");
         Resultado = new ResultadoAjuste(StringFDP, StringInversa, DistribucionContinua.StandardDeviation, DistribucionContinua.Mean, DistribucionContinua.Variance, this);
     }
     catch (Exception)
     {
         Resultado = null;
     }
 }
Exemple #8
0
 public FuncionLogLogistica(double[] eventos) : base(eventos)
 {
     try
     {
         double[] eventosOrdenados = eventos.OrderBy(x => x).ToArray();
         double   alfa             = eventos.Count() % 2 == 0 ? (eventosOrdenados.ElementAt(eventos.Count() / 2) + eventosOrdenados.ElementAt((eventos.Count() / 2) + 1)) / 2 : eventos.OrderBy(x => x).ElementAt((eventos.Count() / 2) + 1);
         this.A = alfa.ToString("0.0000");
         double media = eventos.Average();
         int    n     = eventos.Count();
         double sigma = eventos.Sum(x => Math.Pow(x - media, 2)) / n;
         double k     = Math.Sqrt(Math.Pow(sigma, 2) / (Math.Pow(sigma, 2) + Math.Pow(media, 2)));
         Func <double, double> function = x => Math.Sqrt(1 - (x / Math.Tan(x))) - k;
         BrentSearch           search   = new BrentSearch(function, (Math.PI / 2) * k, Math.Sqrt(3) * k);
         search.FindRoot();
         double beta = Math.PI / search.Solution;
         this.B = beta.ToString("0.0000");
         DistribucionContinua = new LogLogisticDistribution(alfa, beta);
         Resultado            = new ResultadoAjuste(StringFDP, StringInversa, DistribucionContinua.StandardDeviation, DistribucionContinua.Mean, DistribucionContinua.Variance, this);
     }
     catch (Exception)
     {
         Resultado = null;
     }
 }