Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3340

[Удален]  

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

Не мучьтесь, если не хотите. Иначе получается как в притче про бисер.

 
Maxim Dmitrievsky #:

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

Не мучьтесь, если не хотите.

Козул - это рекламный ход и вся книга не более, чем реклама необыкновенности новизны самых обычных положений математической статистики. А вот  математическая статистика - это реально сложная тема.

вот результат сотен страниц текста:

To the code at last! First, we have the first stage, which is exactly the same as the T-Learner.

from sklearn.linear_model import LogisticRegression

np.random.seed(123)

# first stage models
m0 = LGBMRegressor(max_depth=2, min_child_samples=30)
m1 = LGBMRegressor(max_depth=2, min_child_samples=30)

# propensity score model
g = LogisticRegression(solver="lbfgs", penalty='none') 

m0.fit(train.query(f"{T}==0")[X], train.query(f"{T}==0")[y])
m1.fit(train.query(f"{T}==1")[X], train.query(f"{T}==1")[y])
                       
g.fit(train[X], train[T]);
Now, we impute the treatment effect and fit the second stage models on them.

d_train = np.where(train[T]==0,
                   m1.predict(train[X]) - train[y],
                   train[y] - m0.predict(train[X]))

# second stage
mx0 = LGBMRegressor(max_depth=2, min_child_samples=30)
mx1 = LGBMRegressor(max_depth=2, min_child_samples=30)

mx0.fit(train.query(f"{T}==0")[X], d_train[train[T]==0])
mx1.fit(train.query(f"{T}==1")[X], d_train[train[T]==1]);
Finally, we make corrected predictions using the propensity score model.

def ps_predict(df, t): 
    return g.predict_proba(df[X])[:, t]
    
    
x_cate_train = (ps_predict(train,1)*mx0.predict(train[X]) +
                ps_predict(train,0)*mx1.predict(train[X]))

x_cate_test = test.assign(cate=(ps_predict(test,1)*mx0.predict(test[X]) +
                                ps_predict(test,0)*mx1.predict(test[X])))

Насколько я понимаю в программировании, то приведен НЕ работающий код: неизвестно откуда взявшиеся функции, результаты ничему не присваиваются, аргументы функций от балды.

[Удален]  
"...чтобы они не растоптали его ногами своими и, обернувшись, не растерзали вас"
 

Максим безнадежен- совершенно не способен вести дискуссию по существу.

Есть ли кто-нибудь на форуме, кто понимает приведенный мною копию кода из книги?

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

[Удален]  
😀😀😀

Фаза отрицания, та, которая после удивления, начала уже заканчиваться? Что-то надолго затянулась. Когда фаза принятия начнётся?
 

Замечательный раздел в приложении к книг, говорящий о полной бесполезности всего этого кажуала:

"

Why Prediction Metrics are Dangerous For Causal Models

 и вывод по разделу:

In other words,  predictive performance on a random dataset does not translate our preference for how good a model is for causal inference .


Перевод яндекса

Почему показатели прогнозирования опасны для причинно-следственных моделей

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


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

Жулье!

[Удален]  
Это всего лишь говорит о том, что через переобученные модели, при большом количестве конфаундеров, причинно-следственный вывод осложнен. Об этом я писал несколько раз. И это абсолютно естественно. И даже с оптимизаторщиками спорили о таких простых вещах. Ну, это если читать, а не вырывать из контекста.

Но с брызжущими слюнями не комильфо вообще хоть что-нибудь обсуждать. Какие-то вы ограниченные что ли. При том, что не знаете, кто такой учитель, и путаете ансамбль со стакингом.

Вы даже матстат от козула не отличаете, для вас все едино (по незнанию).

Сколько вы МО вообще увлекаетесь, по времени? Чисто из праздного интереса. Можете ли сами написать классификатор или собрать НС произвольной архитектуры из конструктора типа пайторча. Или хотя бы свой тестер? Тайна, покрытая мраком.

То есть, что вы можете противопоставить автору книги? Почему вас должны слушать, а не его, например?)
[Удален]  
Новинка от гугла, TSMixer, вроде превосходит TimeGPT в бенчах, только начал читать.
 
Maxim Dmitrievsky #:
Новинка от гугла, TSMixer, вроде превосходит TimeGPT в бенчах, только начал читать.

Нужно хорошее probabilistic forecasting для рядов, но не такое убогое как нынче (квантильная регрессия, например). В самой статье про это не увидел, хотя в списке литературы вроде есть по этой теме.

[Удален]  
Aleksey Nikolayev #:

Нужно хорошее probabilistic forecasting для рядов, но не такое убогое как нынче (квантильная регрессия, например). В самой статье про это не увидел, хотя в списке литературы вроде есть по этой теме.

Вроде есть либы на питоне, попробую что-нибудь сварганить, пока не могу ничего сказать )