|
1С8 расчет медианы | ☑ | ||
---|---|---|---|---|
0
lamme
20.12.18
✎
15:40
|
Есть ТЗ с числовой колонкой.
Как медиану рассчитать ? есть что-то - хоп! и вот тебе медиана (немного теории - кто не в курсе - https://ru.wikihow.com/найти-среднее-значение,-моду-и-медиану ) |
|||
1
RomanYS
20.12.18
✎
15:43
|
(0) Отсортировать и взять среднее значение или среднеарифметическое от двух средних (при четном количестве строк)
|
|||
2
lamme
20.12.18
✎
15:47
|
это и так понятно
|
|||
3
lamme
20.12.18
✎
15:47
|
я про то чтоб готовое было
|
|||
4
RomanYS
20.12.18
✎
15:48
|
(3) 2 строки кода
|
|||
5
RomanYS
20.12.18
✎
15:48
|
*(4) 3 строки если надо сохранить исходную ТЗ
|
|||
6
lamme
20.12.18
✎
15:52
|
сохранить надо
но я в 3 не укладываюсь )) строка1 - определение чет нечет строка2 - определение для чет строка 3 - определение для нечет но - всякие Если . тогда .. конецесли ... еще строки и с определением когда нечет - чето не але . как их там найти ... два значения по центру ) |
|||
7
тхулбо
20.12.18
✎
15:53
|
(0) Запросом делай, будь мужиком :))
|
|||
8
RomanYS
20.12.18
✎
15:54
|
(6)
Конструкция ?(Условие,ВыражениеДа,ВыражениеНет) не знакома? |
|||
9
RomanYS
20.12.18
✎
15:54
|
(7) внешней компонентой быстрее
|
|||
10
gantonio
20.12.18
✎
15:54
|
воспользуйся методом 1с - он умеет считать медиану)
|
|||
11
lamme
20.12.18
✎
15:54
|
(8)
знакома ... с непривычки для непонятных условий - сложночитаема |
|||
12
lamme
20.12.18
✎
15:55
|
(10)
какой это такой метод ? в хелпе есть медиана - но как ей пользвоаться = хз |
|||
13
lamme
20.12.18
✎
15:57
|
ну а все таки .. застрял на
определение для нечет есть ТЗ. КоличествоСтрок() - нечетное количество как определить 2 числа по середине ? |
|||
14
gantonio
20.12.18
✎
15:58
|
ну там есть метод анализ данных
на вход подаешь таблицу - это вектора данных далее говоришь анализ для каждого вектора он дает общую стастистику .. из нее и читаешь |
|||
15
RomanYS
20.12.18
✎
15:59
|
(13) нечетное количество - посередине ОДНО число
|
|||
16
lamme
20.12.18
✎
16:00
|
(15)
пардон - да .. не то написал для четного количества строк ))) |
|||
17
lubitelxml
20.12.18
✎
16:00
|
(13) ну раздели колво строк пополам, получишь индекс строки 1-ого число, далее прибавь 1 к индексу строк - получишь второе
|
|||
18
gantonio
20.12.18
✎
16:02
|
но вообще все что надо это количество случаев поделить на два
это будет индекс далее упорядочить значения и взять значение по этому индексу ну или по среднему от суммы крайних .. это и будет медиана |
|||
19
RomanYS
20.12.18
✎
16:02
|
(16) смотри (17), только "прибавь" замени на убавь ))
|
|||
20
gantonio
20.12.18
✎
16:05
|
зачем тебе медиана то понадобилась ?
|
|||
21
Конструктор1С
20.12.18
✎
16:08
|
||||
22
lamme
20.12.18
✎
16:14
|
спасибо
методом отладчика и математки (ручка с листочком) - сделал |
|||
23
lamme
20.12.18
✎
16:14
|
(21)
а это прям круто |
|||
24
lamme
20.12.18
✎
16:15
|
(20)
сказали .. парсится сайт в нем - цены на товар от 1 до 1000 ни верхнее - ни нижнее значение - не реальные в нижнем ставят - потому что нет цены (а без цены - товар не отображается) в верхнем - жабоглоты ... никогда не продадут .. ) |
|||
25
gantonio
20.12.18
✎
16:15
|
(21) только вот там несколько не правильно дисперсия и среднеквадратичное отклонение ) хотя это смотря как на них смотреть
|
|||
26
gantonio
20.12.18
✎
16:18
|
(24) тогда надо моду брать, или среднее от выборки у которой срезаны верхние нижние значения. А медиана скажем для другого .. она как бы для описания совокупности и понимания что там внутри творится.
|
|||
27
lamme
20.12.18
✎
16:22
|
(26)
у которой срезаны верхние нижние значения. так как их срезать - на сколько значений срезать ? типа 10 11 12 15 5658 5662 22122 на одно значение срезать или на 2 или на 3 ? |
|||
28
gantonio
20.12.18
✎
16:26
|
(27) ну просто по 10 процентов крайних.
Впрочем надо смотреть на реальные данные. Да и вообще алгоритмы удаления выбросов есть, но они не универсальны. |
|||
29
lamme
20.12.18
✎
16:29
|
на самом деле
я первый раз этот параметр вообще рассчитываю. краем уха слышал что есть такое но практическое применение - вот только сегодня |
|||
30
gantonio
20.12.18
✎
16:32
|
ну, думаю любой вараинт подходит, если он приближает к задуманному ..точных рецептов все равно нет
|
|||
31
lamme
20.12.18
✎
16:43
|
||||
32
Михаил Козлов
20.12.18
✎
16:48
|
(27) Отрезать всё, что выходит за среднее+-3 дисперсии.
|
|||
33
Alres
20.12.18
✎
17:23
|
АнализДанных = Новый АнализДанных;
АнализДанных.Источник = ТвояТаблицаЗначений; АнализДанных.ТипАнализа = Тип("АнализДанныхОбщаяСтатистика"); АнализДанных.Выполнить; Медиана = АнализДанных.Медиана; |
|||
34
Alres
20.12.18
✎
17:26
|
(33) немного не так
АнализДанных.Выполнить(); Медиана = АнализДанных.НепрерывныеПоля.Медиана; |
|||
35
RomanYS
20.12.18
✎
17:28
|
(33) (34) А где указана колонка ТЗ?
|
|||
36
Alres
20.12.18
✎
17:33
|
(35) Это просто наводка куда копать, точный синтаксис я не помню.
Насколько я помню туда вся таблица передается, без указания колонок которые надо анализировать, платформа сама определяет что можно проанализировать |
|||
37
Alres
20.12.18
✎
17:51
|
Вот рабочий пример
ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Число", Новый ОписаниеТипов("Число")); Строка1 = ТЗ.Добавить(); Строка1.Число = "10"; Строка2 = ТЗ.Добавить(); Строка2.Число = "11"; Строка3 = ТЗ.Добавить(); Строка3.Число = "12"; Строка4 = ТЗ.Добавить(); Строка4.Число = "15"; Строка5 = ТЗ.Добавить(); Строка5.Число = "5658"; Строка6 = ТЗ.Добавить(); Строка6.Число = "5662"; Строка7 = ТЗ.Добавить(); Строка7.Число = "22122"; АнализДанных = Новый АнализДанных; АнализДанных.ИсточникДанных = ТЗ; АнализДанных.ТипАнализа = Тип("АнализДанныхОбщаяСтатистика"); РезультатАнализа = АнализДанных.Выполнить(); Медиана = РезультатАнализа.НепрерывныеПоля.Число.Медиана; Результат - 15 |
|||
38
ILM
гуру
20.12.18
✎
18:18
|
Там про нейросеть м.б. нужно узнать? )))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |