Чи справді надійні методи краще?


17

У мене є дві групи досліджуваних, A і B, кожна з розмірами приблизно 400 і приблизно 300 прогнозів. Моя мета - побудувати модель передбачення для бінарної змінної відповіді. Мій клієнт хоче побачити результат застосування моделі, побудованої з А на Б. потужність та точність --- див. стор. 90, Зовнішня перевірка. Я схильний погоджуватися з ним, враховуючи, що збір даних, які я маю, є дуже дорогим та трудомістким. Але у мене немає вибору щодо того, що хоче клієнт .) Багато моїх прогнозів сильно співвіднесені, а також дуже перекошені. Я використовую логістичну регресію для побудови своєї прогнозної моделі.

Мої прогнози походять переважно з механіки. Наприклад, загальний час випробуваного знаходився під напругою, що перевищує поріг протягом періоду часу , для різних значень і 0 \ leq t_1 <t_2 . Зрозуміло, що саме з їх визначень багато цих загальних часів є алгебраїчно пов'язаними один з одним. Багато предикторів, які не є алгебраїчно спорідненими, пов'язані за своєю природою: суб'єкти, які зазнають великого стресу протягом періоду часу [t_1, t_2], як правило, піддаються великій напрузі протягом періоду часу [t_3, t_4] , навіть якщо [t_1 , t_2] \ cap [t_3, t_4] = \ порожній набірα[t1,t2]α>00t1<t2[t1,t2][t3,t4][t1,t2][t3,t4]=. Щоб зменшити розмірність даних, я згрупував пов'язані передбачувачі разом (наприклад, весь загальний час напруги разом) і використав аналіз основних компонентів для представлення кожного кластеру. Оскільки змінні були перекошені, я спробував два альтернативних шляхи:

  • Перш ніж робити PCA, я застосував логарифмічну трансформацію для зменшення перекосу змінних.
  • Я використовував алгоритм ROBPCA Міа Губерт, реалізований пакетом rrcov в R, (PcaHubert), щоб знайти надійні основні компоненти.

Я використовую загальну форму кривої ROC, форму кривої точності відкликання та площу під кривою ROC (AUC) в якості моїх показників ефективності, і я хотів би отримати подібні результати для обох наборів даних A і B Я очікував отримати набагато кращий результат від використання надійних основних компонентів, але, на мій подив, перший метод зробив краще: краще значення AUC для обох наборів даних A і B, більша схожість між кривими ROC і більше подібного точного відкликання криві.

Яке пояснення цьому? І як я можу використовувати надійні основні компоненти, замість того, щоб намагатися зробити мої дані нормальними? Чи є якісь надійні методи PCA, які ви б рекомендували замість ROBPCA?


"Я згрупував пов'язані прогнози разом", чи можете ви краще пояснити, які кроки пов'язані з цим? "Я очікував отримати набагато кращий результат від використання надійних основних компонентів". Чи можете ви пояснити, як ви вимірюєте результати?
user603

Чому, на вашу думку, краще поєднувати набори даних? Я зовсім не згоден. Одна з труднощів, що виникають у подібних проблемах, полягає в надмірному покладанні на конкретні дані. Тестування моделі на іншому наборі даних - хороша ідея.
Пітер Флом - Відновіть Моніку

У якому сенсі звичайна PCA на змінних журналу "краща"? Це мало більше інтуїтивного сенсу? Чи це дало кращий результат у другому наборі даних?
Пітер Флом - Відновити Моніку

Дякую @PeterFlom за коментарі! Я оновив питання щодо ваших коментарів.
user765195

Дякуємо @ user603 за Ваш коментар! Я оновив питання, щоб відобразити ваш коментар.
user765195

Відповіді:


17

Словом, і з вашого опису ви порівнюєте яблуко з апельсинами .... двома способами.

журнал

Розглянемо цей приклад:

library("MASS")
library("copula")
library("rrcov")
p<-2;n<-100;

eps<-0.2
l1<-list()
l3<-list(rate=1)
#generate assymetric data
model<-mvdc(claytonCopula(1,dim=p),c("unif","exp"),list(l1,l3));
x1<-rMvdc(ceiling(n*(1-eps)),model);
#adding 20% of outliers at the end:
x1<-rbind(x1,mvrnorm(n-ceiling(n*(1-eps)),c(7,3),1/2*diag(2))) 

дані

Тепер помістіть дві моделі (ROBPCA та класичну pca обидві у журналі даних):

x2<-log(x1)
v0<-PcaClassic(x2)
v1<-PcaHubert(x2,mcd=FALSE,k=2)

Тепер розглянемо вісь найменшої зміни, знайденої кожним методом (тут для зручності я розміщую її на просторі, трансформованому журналом, але ви отримаєте ті самі висновки щодо вихідного простору).

модель

Очевидно, що ROBPCA виконує кращу роботу з поводженням із незабрудненою частиною даних (зеленими крапками):

Але зараз я переходжу до своєї другої точки.

Нуziшi

у вас це є (це тихо видно на сюжеті вище):

iНу(zi)2<iНу(шi)2(1)

Але ви, здається, здивовані, що:

i=1н(zi)2>i=1н(шi)2(2)

- як ви описали процедуру тестування, ви обчислюєте критерій оцінки відповідності для всього набору даних, тому критерій оцінювання є монотонною функцією (2), де вам слід використовувати монотонну функцію (1) -

Іншими словами, не очікуйте, що надійний пристрій має меншу суму квадратичних ортогональних залишків, ніж непорушна процедура у вашому повному наборі даних: ненадійний оцінювач вже є унікальним мінімізатором SSOR для повного набору даних.


1
Спасибі за вашу відповідь. Мені знадобилося певний час, щоб експериментувати з іншими даними і подумати про вашу відповідь, щоб дійсно зрозуміти це.
користувач765195
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.