Как найти среднее значение в списке без учета доминирующих факторов в python? - PullRequest
0 голосов
/ 21 апреля 2020

я пытаюсь найти среднее значение в списке. но иногда мой список содержит большие числа, которые могут повлиять на вычисление среднего числа.

list = [215,255,210,205,450,315,235,250,450,250,250,250,210,450,210]

имеет смысл, что среднее значение будет варьироваться от 210 до 250, но такие числа, как 450 и 315, могут увеличить среднее значение , Как автоматически удалить доминирующие факторы, такие как число 450 и легко найти правильное среднее число?

1 Ответ

0 голосов
/ 21 апреля 2020

Доминирующие факторы, о которых вы говорите, называются «выбросами» в данных, которые являются ненормальными значениями (очень высокими или очень низкими) по сравнению с остальной частью набора данных. Вы можете использовать концепцию zscore, чтобы удалить эти выбросы из ваших данных

  from scipy.stats import zscore
  list1 = [215,255,210,205,450,315,235,250,450,250,250,250,210,450,210]
  score=zscore(list1)
  threshold=1 #should be 3 generally
  list1 = [value for index,value in enumerate(list1) if abs(score[index])<=threshold ]

Вы можете изменить порог в соответствии с вашим wi sh и увидеть список 1, который вы получаете, чтобы окончательно принять решение о пороге (выполните попробуйте ввести несколько значений в диапазоне от 0 до 3). Подробнее о zscore: обнаружение выбросов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...