График среднего значения сигнала для доверительного интервала

У меня есть сигнал по оси Y (отклонение от курса) и сигнал времени по оси X (время). Я попытался найти доверительный интервал этого сигнала. Но я не могу построить среднее значение сигнала. Я думаю, потому что среднее значение имеет 2 вектора, а размер сигнала - 5001. Как я могу это решить? Я благодарен за ответы!

N = size(yawrate,1);  % Number of ‘Experiments’ In Data Set

yMean = mean(yawrate);  % Mean Of All Experiments At Each Value Of ‘time’`

ySEM = std(yawrate)/sqrt(N);  % Compute ‘Standard Error Of The Mean’ Of All Experiments At Each Value Of ‘time’

CI95 = tinv([0.025  0.975], N-1);  % t-score Calculate 95% Probability Intervals Of t-Distribution

yCI95 = bsxfun(@times, ySEM, CI95(:));  % Calculate 95% Confidence Intervals Of All Experiments At Each Value Of ‘x’         

figure

plot(time, yMean)   % Plot Mean Of All Experiments

hold on

plot(time, yCI95+yMean)  % Plot 95% Confidence Intervals Of All Experiments

hold off

grid

Какие размеры у yawrate и time? Что означает «среднее значение имеет 2 вектора»?

Cris Luengo 10.08.2018 18:33

Большое спасибо за ваш ответ. Размер рысканья и времени - 5001. Я имею в виду размер среднего значения, показывающего 1 1.

Aure U. 10.08.2018 18:45

Код написан для yawrate, которая представляет собой матрицу NxM, с временными шагами M и экспериментами с N. В этом случае mean(yawrate) представляет собой вектор со значениями M. time также должен иметь значения M. Если ваш N равен 1, этот код бесполезен.

Cris Luengo 10.08.2018 19:40

нет, у меня N 5001.

Aure U. 10.08.2018 19:47

Нет, ваш M - 5001, ваш N - 1.

Cris Luengo 10.08.2018 19:55

Спасибо, Крис, ты прав. Собственно это мой вопрос. Как мне построить верхнюю и нижнюю границы моего сигнала в соответствии с доверительным интервалом?

Aure U. 11.08.2018 11:06

Если у вас есть только один сигнал, вы не можете вычислить доверительный интервал. Если вы знаете что-то о том, как был измерен / получен сигнал, вы можете оценить доверительный интервал, но это не вычислительная вещь и требует хорошего понимания физики, лежащей в основе измеряемого процесса, и измерительного оборудования. Самый простой - просто измерить ваш сигнал несколько раз и передать набор сигналов через код, который у вас здесь.

Cris Luengo 11.08.2018 13:44
0
7
165
2

Ответы 2

Я бы прокомментировал, но у меня недостаточно репутации. Поскольку я отвечая, я также буду использовать то, что уже есть в комментариях. Вопрос немного неясен относительно вещей, уже отмеченных в комментариях: size(yawrate) - это [1,N] или [N,M] для некоторых M? Те же вопросы для time. Если я правильно понял из вашего ответа на этот вопрос и из вашего кода, вы предполагаете, что yawrate - это NxM, а yMean - это размер 1xM. в этом случае вам также понадобится время, чтобы стать 1xM. Это то, что написал Крис Луенго.

Кроме того, yCI95+yMean будет означать добавление вектора 2x1, содержащего доверительный интервал, к значениям 1xM o yMean. Это даст вам массив 2xM. Это не работает в каждой версии Matlab, и я думаю, что для этого требуется, чтобы первая была 2x1, а не 1x2, поэтому вам может потребоваться

plot(time, yCI95(1)+yMean)
plot(time, yCI95(2)+yMean)

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

Спасибо, Маркос. На самом деле я спрашиваю, о чем вы меня просите :) Я не понимаю доверительный интервал. У меня есть сигнал и график сигнала, как на этой фотографии. Размер (скорость рыскания) и размер (время) равны [5001 1], но среднее значение - это число и размер [1 1]. Если я рисую (время, среднее), это, безусловно, линия. Как в этой ситуации построить график верхней и нижней границ доверительного интервала? В том-то и дело, я этого не понимаю.

Aure U. 11.08.2018 11:04

yMean кажется единственным значением, поэтому при его построении вы получите точку для каждого временного значения. В случае, если время выборки слишком велико, вы можете увеличить видимость ваших линий, используя t = 0: 0,01: время (конец) в функции построения графика, а не время.

Другие вопросы по теме