Как рассчитать среднее значение и стандартное отклонение для значений оттенка от 0 до 360?

Предположим, что 5 образцов оттенка взяты с использованием простой модели HSV для цвета, имеющей значения 355, 5, 5, 5, 5, все оттенки красного цвета и «рядом» друг с другом с точки зрения восприятия. Но простое среднее значение равно 75, что далеко от 0 или 360, что близко к желто-зеленому.

Как лучше рассчитать это среднее и соответствующее стандартное отклонение?


person drb    schedule 17.11.2011    source источник
comment
После значительно более глубоких поисков в Google, я нашел обратную ссылку на stackoverflow из сообщения, в котором фактически обсуждается среднее направление ветра: stackoverflow.com/questions/491738/ Но это не касается проблема стандартного отклонения.   -  person drb    schedule 17.11.2011
comment
Когда у вас есть среднее значение, которое вас устраивает, вы можете просто вычислить стандартное отклонение от средних отклонений, верно?   -  person AakashM    schedule 17.11.2011
comment
@AakashM, я все еще пытаюсь в этом разобраться. Я знаю код. Статистика у меня немного более туманная.   -  person drb    schedule 17.11.2011
comment
На нескольких веб-сайтах, где я вижу, что на этот вопрос пытаются найти ответ, я также вижу надуманные наборы данных, такие как две записи для 270 и 90, которые затем говорят, что среднее значение бессмысленно. Чтобы избежать этого, вот небольшая выборка фактических значений, с которыми я работаю: (наивное среднее и стандартное: 185,658 174,848) 347,059 0 359,059 347 354,05 353,012 13,012 358,118 8,06723 354,118 0,967742 0,97561 351,074 8,06324 346,098 0,941176,0 8223535 359 359.059 1.88235 358.088 0.97166 0.983607 354.958   -  person drb    schedule 17.11.2011
comment
О, хорошо, я тебя понял. Для расчета s.d. учитывая среднее значение, следуйте, например, этим инструкциям (предупреждение: Comic Sans: п)   -  person AakashM    schedule 17.11.2011
comment
Вот ссылка на страницу в книгах Google, посвященную стандартному отклонению циклических данных и распределению фон Мизеса: books.google.com/   -  person drb    schedule 18.11.2011


Ответы (2)


Простое решение - преобразовать эти углы в набор векторов из полярных координат в декартовы координаты.

Поскольку вы работаете с цветами, думайте об этом как о преобразовании в плоскость (a *, b *). Затем возьмите среднее значение этих координат и снова вернитесь к полярной форме. Сделано в Matlab,

theta = [355,5,5,5,5];
x = cosd(theta); % cosine in terms of degrees
y = sind(theta); % sine with a degree argument

Теперь возьмите среднее значение x и y, вычислите угол, а затем преобразуйте его обратно из радиан в градусы.

meanangle = atan2(mean(y),mean(x))*180/pi
meanangle =
       3.0049

Конечно, это решение справедливо только для среднего угла. Как вы можете видеть, он дает согласованный результат со средним значением углов напрямую, где я понимаю, что 355 градусов на самом деле превращаются в -5 градусов.

mean([-5 5 5 5 5])
ans =
     3

Чтобы вычислить стандартное отклонение, проще всего сделать это как

std([-5 5 5 5 5])
ans =
       4.4721

Да, это требует от меня явного обертывания.

person Community    schedule 17.11.2011
comment
Спасибо. Да, при расчетах стандартного отклонения всегда необходимо учитывать обертку, будь то 0, красный цвет, в градусах или Pi, и отрицательное значение Pi, сине-зеленый, в радианах. Существуют также подходы к описанию циклических данных, отличные от стандартных. См. Ссылки выше. - person drb; 18.11.2011

Я думаю, что метод, предложенный пользователем 85109, является хорошим способом вычисления среднего, но не стандартного отклонения: представьте, что у вас есть три угла: 180, 180, 181

среднее значение будет правильно вычислено, так как число примерно равно 180

но из [180,180, -179] вы можете вычислить высокую дисперсию, когда на самом деле она близка к нулю.

На первый взгляд, я бы вычислил отдельно средние и дисперсии для половин положительных углов, [от 0 до 180] и для отрицательных [0, -180], а позже я бы вычислил комбинированную дисперсию https://www.emathzone.com/tutorials/basic-statistics/combined-variance.html

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

person FFolch    schedule 14.08.2020