То, что вы хотите сделать, не существует, потому что это, из-за отсутствия лучшего слова, математически ошибочно.
Но сначала я подчеркну, почему я считаю, что предпосылки вашего вопроса обоснованы. Затем я попытаюсь объяснить, почему я думаю, что выводы, которые вы из них делаете, основаны на неправильном понимании логистической модели, и, наконец, я предложу альтернативный подход.
Я буду обозначать ваших наблюдений (более жирные буквы обозначают векторы), которые лежат в мерном пространстве (первая запись в равна 1) с , и является монотонной функцией , скажем, как логистическая кривая исправить идеи. Для целесообразности, я просто предположу , что является достаточно большой по сравнению с . np x{(xxi,yi)}ni=1np p<n y i ∈[0,1]f( xxxip<nyi∈[0,1]xf(xxi)=f(xx′iββ) n pxx′iββnp
Вы правы в том, что если вы намерены использовать TVD в качестве критерия для оценки подобранной модели, то разумно ожидать, что ваше соответствие оптимизирует этот же критерий среди всех возможных кандидатов в ваших данных. следовательно
ββ∗=argminββ∈Rp||yy−f(xx′iββ)||1
Проблема в ошибке :
и если мы (мы просто хотим, чтобы наша модель была асимптотически несмещенной ), тогда должен быть гетероскедастичным . Это потому, что может принимать только два значения, 0 и 1. Поэтому, учитывая, что
, также может принимать только два значения: когда , что происходит с вероятностью и когдаϵi=yi−f(xx′iββ)E(ϵϵ)=0ϵi yixxiϵi1−f(xx′iββ)yi=1f(xx′iββ)−f(xx′iββ)yi=1, что происходит с вероятностью .1−f(xx′iββ)
Эти соображения вместе подразумевают, что:
var(ϵϵ)=E(ϵϵ2)=(1−f(xx′ββ))2f(xx′ββ)+(−f(xx′ββ))2(1−f(xx′ββ))=(1−f(xx′ββ))f(xx′ββ)=E(yy|xx)E(1−yy|xx)
следовательно, не является константой, но имеет вогнутую форму параболы и максимизируется, когда такова, что .var(ϵϵ)xxE(y|xx)≈.5
Эта неотъемлемая гетероскедастичность остатков имеет последствия . Это подразумевает, среди прочего, что при минимизации потерь вы асимптотически часть вашей выборки. То есть подогнанная не помещается в данные вообще, а только в той части, которая сгруппирована вокруг мест, где такова, что . То есть это наименее информативные точки данных в вашей выборке : они соответствуют тем наблюдениям, для которых шумовая составляющая является самой большой. Следовательно, ваше соответствие подтягивается к , например, не имеет значения.l1ββ∗xxE(yy|xx)≈.5ββ∗=ββ:f(xx′ββ)≈.5
Как видно из приведенного выше описания, одно из решений состоит в том, чтобы отменить требование непредвзятости. Популярный способ смещения оценки (с приложением некоторой байесовской интерпретации) состоит в том, чтобы включить термин усадки. Если мы изменим масштаб ответа:
y+i=2(yi−.5),1≤i≤n
и для вычислительной целесообразности замените другой монотонной функцией --Оно будет удобно продолжение , чтобы обозначить первую компоненту вектора параметра , как , а остальных из них - и включает в себя термин усадки (например , одного вида ), в результате возникает проблема оптимизации:f(xx′ββ)g(xx,[c,γγ])=xx′[c,γγ]cp−1γγ||γγ||2
[c∗,γγ∗]=argmin[[c,γγ]∈Rp∑i=1nmax(0,1−y+ixx′i[[c,γγ])+12||γγ||2
Обратите внимание, что в этой новой (также выпуклой) задаче оптимизации штраф за правильно классифицированные наблюдения равен 0, и он растет линейно с для неправильно классифицированной - как в потеря. Решением этой второй задачей оптимизации является знаменитым линейным SVM (с совершенным разделением) коэффициентами. В отличие от , имеет смысл выучить эти из данных со штрафом типа TVD ('type' из-за термина смещения) , Следовательно, это решение широко реализовано. Смотрите, например, R пакет LiblineaR .xx′[[c,γ]l1[c∗,γγ∗]ββ∗[c∗,γγ∗]