Esempio n. 1
0
        private double GetValue()
        {
            //var yDispersion = StatCharacteristicModel.StandartDeviationSkew.GetValue(lr.yData);
            //yDispersion *= yDispersion;

            //return 1 - (lr.N - lr.Scores.Count) * lr.ResiduesDisp / (lr.N * yDispersion);

            double top    = 0;
            double bottom = 0;

            for (int i = 0; i < lr.N; i++)
            {
                top    += (lr.yData[i] - lr.Calculate(lr.xData[i])) * (lr.yData[i] - lr.Calculate(lr.xData[i]));
                bottom += (lr.yData[i] - lr.yavg) * (lr.yData[i] - lr.yavg);
            }

            return(1 - top / bottom);
        }
Esempio n. 2
0
        private void FillLinearRegressionSeria(Regression lr)
        {
            sLinearRegression.Points.Clear();
            sRegressionInterval.Points.Clear();
            sPrognosisInterval.Points.Clear();

            foreach (var x in xData)
            {
                var regressionValue = lr.Calculate(x);
                sLinearRegression.Points.Add(new DataPoint(x, regressionValue));

                var regresstionIntervalBelow = lr.GetRegressionIntervalBelow(x);
                var regresstionIntervalTop   = lr.GetRegressionIntervalTop(x);
                sRegressionInterval.Points.Add(new DataPoint(x, regresstionIntervalBelow));
                sRegressionInterval.Points.Add(new DataPoint(x, regresstionIntervalTop));

                var prognosisIntervalBelow = lr.GetPrognosisIntervalBelow(x);
                var prognosisIntervalTop   = lr.GetPrognosisIntervalTop(x);
                sPrognosisInterval.Points.Add(new DataPoint(x, prognosisIntervalBelow));
                sPrognosisInterval.Points.Add(new DataPoint(x, prognosisIntervalTop));
            }
        }