2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Пример применения робастной регрессии
Сообщение20.03.2014, 14:42 
В общем-то, суть просьбы в заголовке.
Есть ли у кого пошаговый пример применения робастной множественной регрессии.
Просто есть набор образцов, на которых измеряли химический состав и прокаливаемость. Необходимо найти зависимость прокаливаемости от хим состава. Прогнал данные на выбросы и т.д. Проделал уже и пошаговую регрессию и МНК и много чего (все в пакете Statistica). Максимум, чего смог добиться $R^2=0,65$. И погрешность в 20-30%. Это неприемлемо. Из теории извествно, что прокаливаемость зависит ТОЛЬКО от хим.состава. Перечитал ворох книжек по робастному оцениванию. Но там, в основном, теория. Есть ли у кого реальный пример? У меня есть статья, где с помощью робастных оценок получается увеличить $R^2$ с $0,45$ до $0,98$. Но там, как всегда "вот как у нас было плохо, а теперь делаем кое-какие доп расчеты, ахалай-махалай, ляськи-масяськи и вуаля всё зашибись. Вот новая формула, вот какая крутая сходимость эксперимента с расчетом!"
Ну, или если кто ещё подскажет, какие можно взять функции, кроме МНК для подстановки в Statistica буду очень благодарен.
Сам я по образованию металловед, но в математике более-менее разбираюсь.

 
 
 
 Re: Пример применения робастной регрессии
Сообщение20.03.2014, 16:03 
Аватара пользователя
А на графиках что видно? В Статистике довольно богатый набор графических методов.
Вообще, не зная задачи и данных, могу только предположить, что имеет место что-то из трёх:
1. Ошибки в данных просто очень уж велики. И если "выбросы", то это прекрасно - их немного и можно удалить. Но может быть, просто высокая ошибка измерения во всех или почти всех измерениях. Робастные оценки помогут только в случае выбросов (и неясно, что значит - "робастные оценки увеличили коэффициент корреляции", МНК как раз и даёт самый высокий из достижимых коэффициентов корреляции, так что если что-то увеличили - то не его).
2. Модель неверна. Скажем, зависимость нелинейна, а у Вас подгоняют линейную. Прямая линия как-то к параболе приблизится, но с большим зазором. То есть надо менять модель (преобразовывать переменные для линеаризации, а то и использовать "существенно нелинейные модели")
3. У Вас пропущен какой-то влияющий фактор.

 
 
 
 Re: Пример применения робастной регрессии
Сообщение21.03.2014, 07:16 
Спасибо за ответ!
Евгений Машеров в сообщении #838940 писал(а):
А на графиках что видно?

На графиках круг...причем не окружность, а именно круг :) поле точек.
1. Робастные оценки увеличили не коэффициент корреляции, а коэффициент детерминации.(ссылка на статью)
2. Вот это самое мерзкое. Там просто возможно (и наверняка присутствует) ещё и взаимное влияние факторов.
3. Это вряд ли. Просто, согласно литературным источникам и теории, прокаливаемость зависит только от химического состава. (Хотя, наличие бора может сильно испортить картинку :( )

 
 
 
 Re: Пример применения робастной регрессии
Сообщение21.03.2014, 09:09 
Аватара пользователя
1. Коэффициент детерминации просто квадрат коэффициента корреляции. Вопрос остаётся.
2. Тут, к сожалению, надо использовать предметные знания, которых у меня попросту нет (я когда-то, в рамках общеинженерной подготовки, смотрел в микроскоп на шлифы металлов и зарисовывал в тетради для лабораторных, где феррит, где перлит, но это не "знание металловедения", а "общие сведения")
3. И теория, бывает, врёт, и литературные источники, случается, слишком верят теории, вплоть до подгонки. Ну и состав может быть известен неточно (скажем, малые примеси чего-то, что влияет, но его концентрацию в опытах не меряли, ванадия там какого-то или молибдена, к примеру)

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

-- 21 мар 2014, 10:03 --

Ну, по крайней мере разобрался с первым вопросом. Там применён квазиправдоподобный метод, когда вводятся веса отдельных наблюдений, уменьшающиеся при больших невязках (т.е. вместо отбрасывания подозрительного значения оно остаётся, но вес его уменьшается). Поэтому там используется не коэффициент детерминации, как таковой, а схожая формула с весами.
Но если "круг" - то, значит, дело не в выбросах, а в общей слабой зависимости (хотя для 0.65 должен быть такой "огурчик", заметно вытянутый по наклонной оси...)

 
 
 
 Re: Пример применения робастной регрессии
Сообщение22.03.2014, 16:59 
Аватара пользователя
0. Статистика - инструмент. Помочь может, но думать за Вас не умеет. Поэтому далее будут следовать советы, из которых некоторые, может, и помогут, а может, будут бессмысленной тратой сил и времени, заранее не определю. И в любом случае надо привлекать знания из предметной области.
1. Нелинейность связей.
Приводящая к тому, что линейная модель приближает, но очень уж приближённо. После построения модели можно построить график остатков от каждой из переменных (в пакете Statistica такая возможность есть). В случае, если связь была линейна, будет горизонтальное облако, если была нелинейность - выявится вместо ровной полосы или эллипсоида дуга. Правильный путь устранения нелинейности - использование основанной на понимании физики процесса математической модели, но и самой такой модели может не быть, и она может быть слишком сложна. Иногда помогают преобразования переменных, как регрессоров, так и регрессанда (зависимой), скажем, логарифмирование. Экстенсивный путь - добавление, кроме линейных членов, квадратичных и более высокой степени, а также произведений. Но он опасен переподгонкой (overfitting), когда формально модель всё точнее, коэфициент корреляции (и детерминации) всё ближе к единице - а мы не явление приближаем, а флуктуации. Некоторый контроль в этом случае даёт использование в качестве критерия F-отношения, оно учитывает эффект от увеличения числа переменных, не давая увлечься "сверхточной" моделью.
2. Неучтённые факторы.
Найти их можно, разумеется, лишь в том случае, если о наблюдениях есть ещё какая-то информация, кроме включённой в регрессионную таблицу, хотя бы и неформализуемая. В этом случае, скажем, можно попробовать посчитать остатки от регрессии, отсортировать наблюдения по возрастанию остатков, и посмотреть, нет ли какой особенности, свойственной опытам, для которых отклонение велико в ту или иую сторону (кто провоил опыты, отличались ли реактивы, одинаковыми ли приборами меряли и т.п.). К сожалению, это лишь "информация к размышлению", далее методы Шерлока Холмса или полиции...
3. Грубые ошибки (выбросы).
Вот это сфера применения робастных методов. Их много, но один из вариантов (кстати, и в цитированной Вами статье) - вводить веса наблюдений. Если мы знаем, что наблюдения неравноточны - веса обратно пропорциональны ошибкам наблюдений, а грубые ошибки при этом подходе рассматриваются, как снижение точности. Возможный путь при использовании того же пакета Statistica - начать с модели обычной, невзвешенной регрессии и посмотреть на остатки (по крайней мере в первый раз - проанализировать их, а не просто прибегнуть к механической процедуре расчёта весов; дело в том, что некоторые могут быть опознаны, как продукт неверного внесения данных в таблицу - дребезг клавиши, превращающий 12 в 112, неверно поставленная или забытая точка, так что 10.2 становится 102, и многие другие невнимательности, а некоторые в таблице именно таковы, каковы были считаны с прибора, но на приборе - совершенно невозможные, то есть имел место сбой аппаратуры) Убедившись, что нет исправимых так ошибок, для самых больших остатков вводятся веса, меньшие единицы (например, можно взять стандартизованные остатки, а лучше остатки при исключении данного наблюдения, пакет и такое умеет, если по абсолютной величине они меньше 2, то вес 1, а если больше, то вес $w_i=\frac 1 {|e_i|-1}$, впрочем, тут возможны варианты). Затем считается новая модель, с новыми остатками, пока результат не стабилизируется.

 
 
 
 Re: Пример применения робастной регрессии
Сообщение22.03.2014, 17:18 
Аватара пользователя
 i  toliktkm, все формулы и термы следует оформлять $\TeX$ом.
Инструкции по оформлению формул здесь или здесь (или в этом видеоролике).
В случае неоформления тема будет перемещена в Карантин.

 
 
 
 Re: Пример применения робастной регрессии
Сообщение22.03.2014, 17:48 
Аватара пользователя
Насколько я понимаю, дело в "неуставном" обозначении для $R^2$?
Чтобы его правильно ввести, нажмите на кнопку math над полем ввода текста, и между знаками доллара поставьте R^2

 
 
 
 Re: Пример применения робастной регрессии
Сообщение24.03.2014, 07:13 
Евгений, Спасибо вам огромное. Буду лопатить. Отклонения и выбросы все прошерстил. Таких "Откровенных" наподобие 112 вместо 11,2 нет. Откопал несколько статей по предметной области. Народ как-то умудряется линейной моделью подгонять значения (я им уже не верю :? ). В той же статистике пробовал все эффекты до третьего порядка прогнать по пошаговой и по гребневой регрессии (прямо в лоб. Времени было много, ну и интересно было новый инструмент попробовать). Результатов никаких. Спасибо большое за советы. По поводу весов - отдельно.
P.s.: Deggial. Понял, исправлюсь. $R^2$. :D

 
 
 
 Re: Пример применения робастной регрессии
Сообщение24.03.2014, 08:01 
Аватара пользователя
Наверно, ожидается, что исправлено $R^2$ будет в первом постинге.

 
 
 
 Re: Пример применения робастной регрессии
Сообщение24.03.2014, 08:04 
Аватара пользователя
 i 
Евгений Машеров в сообщении #840183 писал(а):
Наверно, ожидается, что исправлено $R^2$ будет в первом постинге.
Исправил

 
 
 
 Re: Пример применения робастной регрессии
Сообщение24.03.2014, 15:32 
Аватара пользователя
В общем, если покажете данные, можно посмотреть (можно выложить на какой-то хостинг, а потом ссылку прислать в сообщении; если так неудобно - письмом, адрес я Вам сообщу). А вслепую можно много наговорить, но не уверен, что будет по делу.

 
 
 
 Re: Пример применения робастной регрессии
Сообщение24.03.2014, 16:46 
Аватара пользователя
Евгений Машеров

(Оффтоп)

Скажите, пожалуйста, если научно-фантастический роман называется «Война роботов и робастов», в этом названии можно усмотреть какой-то смысл, или это абсолютная бессмыслица?

 
 
 
 Re: Пример применения робастной регрессии
Сообщение24.03.2014, 17:49 
Аватара пользователя

(Оффтоп)

robust
[rəʹbʌst,ʹrəʋbʌst] a
1. 1) здоровый, крепкий, сильный
robust young fellow - крепкий /дюжий/ малый

robust health - крепкое здоровье

robust appetite - здоровый аппетит

robust nervous system - крепкие нервы

robust plant - сильное растение

2) тех. прочный; устойчивый, надёжный в эксплуатации
2. здравый, ясный
robust intellect - ясный ум

3. трудный, требующий усилий
robust work - тяжёлая работа

robust faith - вера, не знающая сомнений

4. грубоватый (о юморе)
5. устойчивый, робастный (об оценке в статистике)

Новый большой англо-русский словарь. 2001.


Такого романа я не знаю, но в принципе представить сюжет - войну людских силачей "робастов" против тирании роботов могу, скорее в виде комикса, чем книги, но, наверно и книгу можно написать.

 
 
 [ Сообщений: 13 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group