powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / отсекание экстремальных значений из группы данных
2 сообщений из 2, страница 1 из 1
отсекание экстремальных значений из группы данных
    #38392966
SI10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть некий массив статистических данных. Нужно отсечь экстремальные значения, которые не вписываются в общую группу. Я взял ( правило 3 сигм )
Вот код ( javascript):
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
function Test() {
    this.data = { 'a' : 0, 'b' : 6, 'c' : 8, 'd' : 14, 'e' : 11, 'f' : 200, 'aa' : 201, 'www' : 200000 }
}

Test.prototype = {
    StandardDeviation: function (sa) {
        var n = 0;
        var sum = 0;
        for (var key in this.data) {
            n = n + 1;
            sum = sum + Math.pow(( this.data[key] - sa ), 2)
        }
        if (n > 0) {
            return Math.sqrt(sum / n)
        } else {
            return 0
        }
    },
    SimpleAverage: function () {
        var n = 0;
        var sum = 0;
        for (var key in this.data) {
            n = n + 1;
            sum = sum + this.data[key]
        }

        if (n > 0) {
            return sum / n
        } else {
            return 0
        }
    },
    Middle: function (sd, sa) {
        var hash = {};
        for (var key in this.data) {
            if ( this.data[key] <= 3 * sd + sa  && this.data[key] >= sa - 3 * sd )  {
                hash[key] = this.data[key]
            }
        }
        return hash
    },
    run: function () {
        var sa = this.SimpleAverage();
        var sd = this.StandardDeviation(sa);
        console.log(this.Middle(sd, sa));
    }

};

exports.Test = Test;

r = new Test()
r.run()



В результате отдается полностью массив, без отсечения 200000. Почему это метод не работает в данном случае ?
...
Рейтинг: 0 / 0
отсекание экстремальных значений из группы данных
    #38393029
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Три сигмы действуют для нормального распределения. У тебя даже не понять где среднее.
И вообще. Откуда ты взял модульный тест? С чего решил что 200000 должно отсекаться?

Нет я конечно доверяю "интуиции" и "на глазок". Но всё таки.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / отсекание экстремальных значений из группы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]