У меня есть 1D-данные, которые нужно разделить на два.
Так что я использовал
fitgmdist(data,2);
и получил
- mu
- сигма
- пропорция компонента
для каждого гауссовского распределения.
А вот и график. (Серый: данные, синий: psd GMModel из fitgmdist)
До сих пор все было в порядке.
Итак, вопрос.
Как я могу разделить эти два графика распределения Гаусса?
Я пытался
- Использование makedist(‘Normal’) для создания каждого распределения Гаусса.
- Умножьте на пропорцию каждого компонента
- Добавить два дистрибутива вверх
Но почему-то мне не удалось получить такой же график, перекрывающий картинку выше.
Вероятно, у меня неправильное понятие «Нормализация» или «Модель гауссовой смеси».
Буду признателен за любой совет или сайт для поиска.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — @Image Analyst: данные загружены. спасибо за совет, в следующий раз учту :)
ПРИМЕЧАНИЕ.
Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech ,ME,M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.
Вы сделали что-то вроде этого:
x = [randn(4000,1)/2; 5+2*randn(6000,1)]; f = fitgmdist(x,2); histogram(x,'Normalization','pdf') xgrid = linspace(-4,12,1001)'; hold on; plot(xgrid,pdf(f,xgrid),'r-'); hold off
Вы можете дублировать значения PDF, выполнив что-то вроде этого:
n1 = makedist('normal',f.mu(1),sqrt(f.Sigma(1))); n2 = makedist('normal',f.mu(2),sqrt(f.Sigma(2))); p = f.ComponentProportion; y = p(1)*pdf(n1,xgrid) + p(2)*pdf(n2,xgrid); hold on; plot(xgrid,y,'c--'); hold off
Одна вещь, на которую следует обратить внимание. В теории вероятностей и статистике стандартное отклонение одномерного нормального распределения принято обозначать греческой буквой сигма.
СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ