Esempio n. 1
0
        private double min(double sKvadrat, double alfa, int f)
        {
            chiKvadratAlfaPola = Distribucije.ChiKvadrat(alfa / 2, f);
            minimum            = f * sKvadrat / chiKvadratAlfaPola;

            return(minimum);
        }
Esempio n. 2
0
        private double max(double sKvadrat, double alfa, int f)
        {
            chiKvadratJedanMinusAlfaPola = Distribucije.ChiKvadrat(1 - alfa / 2, f);
            maximum = f * sKvadrat / chiKvadratJedanMinusAlfaPola;

            return(maximum);
        }
Esempio n. 3
0
 /// <summary>
 /// <para/>Lokalni jednovarijantni test, otkrivanje grubih gresaka
 /// </summary>
 /// <param name="sKvadrat">A posteriori varijanca</param>
 /// <param name="v">Vektor popravaka mjerenja</param>
 /// <param name="Qv">Matrica kofaktora popravaka mjerenja</param>
 /// <param name="alfa">Nivo signifikantnosti</param>
 /// <param name="f">Broj prekobrojnosti</param>
 /// <exception cref="ArgumentException">Baca se kada matrica ili vektor nema odgovarajuce dimenzije</exception>
 /// <exception cref="ArgumentOutOfRangeException">Baca se kada nivo sifnifikantnosti nije u intervalu 0-1 ili je broj prekobrojnosti manji od 1</exception>
 public TauTest(double sKvadrat, DenseVector v, DenseMatrix Qv, double alfa, int f)
 {
     if (Qv.RowCount < Qv.ColumnCount)
     {
         throw new ArgumentException("Greska u dimenzijama matrice Qv("
                                     + Qv.RowCount.ToString() + "x" + Qv.ColumnCount.ToString() +
                                     "). Broj redova mora biti veci od broja stupaca");
     }
     else if (v.Count != Qv.ColumnCount)
     {
         throw new ArgumentException("Greska u dimenzijama matrice Qv("
                                     + Qv.RowCount.ToString() + "x" + Qv.ColumnCount.ToString() +
                                     ") ili vektora v(" + v.Count.ToString() + "x1)");
     }
     else if (alfa < 0 || alfa > 1)
     {
         throw new ArgumentOutOfRangeException("alfa", alfa, "Nivo signifikantnosti mora biti u intervalu 0 < alfa < 1");
     }
     else if (f < 1)
     {
         throw new ArgumentOutOfRangeException("f", f, "Broj prekobrojnosti mora biti veci od nule");
     }
     else
     {
         tauDistribucija = Distribucije.Tau(alfa, f);
         TestStatistika(sKvadrat, v, Qv);
     }
 }
Esempio n. 4
0
 /// <summary>
 /// <para/>Data Snooping (B-metoda), otkrivanje grubih gresaka
 /// </summary>
 /// <param name="sigmaNulaKvadrat">A priori varijanca izjednacenja</param>
 /// <param name="v">Vektor popravaka mjerenja</param>
 /// <param name="Ql">Matrica kofaktora mjerenja</param>
 /// <param name="R">Matrica unutrasnje pouzdanosti</param>
 /// <param name="alfa">Nivo signifikantnosti</param>
 /// <param name="beta">Snaga testa</param>
 /// <exception cref="ArgumentException">Baca se kada matrica ili vektor nema odgovarajuce dimenzije</exception>
 /// <exception cref="ArgumentOutOfRangeException">Baca se kada nivo sifnifikantnosti ili snaga testa nije u intervalu 0-1</exception>
 public DataSnooping(double sigmaNulaKvadrat, DenseVector v, DenseMatrix Ql, DenseMatrix R, double alfa, double beta)
 {
     if (Ql.RowCount < Ql.ColumnCount)
     {
         throw new ArgumentException("Greska u dimenzijama matrice Ql("
                                     + Ql.RowCount.ToString() + "x" + Ql.ColumnCount.ToString() +
                                     "). Broj redova mora biti veci od broja stupaca");
     }
     else if (R.RowCount != R.ColumnCount)
     {
         throw new ArgumentException("Greska u dimenzijama matrice R("
                                     + R.RowCount.ToString() + "x" + R.ColumnCount.ToString() +
                                     "). Matrica mora biti kvadratna");
     }
     else if (Ql.RowCount != R.RowCount)
     {
         throw new ArgumentException("Greska u dimenzijama matrice Ql("
                                     + Ql.RowCount.ToString() + "x" + Ql.ColumnCount.ToString() +
                                     ") ili R(" + R.RowCount.ToString() + "x" + R.ColumnCount.ToString() + ")");
     }
     else if (v.Count != R.ColumnCount)
     {
         throw new ArgumentException("Greska u dimenzijama matrice R("
                                     + R.RowCount.ToString() + "x" + R.ColumnCount.ToString() +
                                     ") ili vektora v(" + v.Count.ToString() + "x1)");
     }
     else if (alfa < 0 || alfa > 1)
     {
         throw new ArgumentOutOfRangeException("alfa", alfa, "Nivo signifikantnosti mora biti u intervalu 0 < alfa < 1");
     }
     else if (beta < 0 || beta > 1)
     {
         throw new ArgumentOutOfRangeException("beta", beta, "Snaga testa mora biti u intervalu 0 < beta < 1");
     }
     else
     {
         lambdaKorjen = Math.Sqrt(Distribucije.ParametarNecentralnosti(alfa, beta));
         tVrijednost(sigmaNulaKvadrat, v, Ql, R);
     }
 }