Teknik Analiz Dünyasına Hoşgeldiniz. Paylaşmak Güzeldir.

Yayından kaldırmak istediğiniz formüller için algoritmabul@gmail.com ile iletişime geçebilirsiniz... 

  • DİKKAT: Formüller, Sistemler sadece eğitim amaçlıdır. Alım satım, olası anapara kaybı ve diğer kayıplar dahil olmak üzere "YÜKSEK RİSK" içerir.

Makine Öğrenimi - Python Heteroskedastisite

Machine Learning Algorithms - Makine Öğrenimi Algoritmaları BORSA

algoritma

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,798
Heteroskedastisite
Finansal zaman serilerindeki değişkenliğin zamanla değişimini ölçer. Bu, volatilite değişimlerini ve fiyat hareketlerinin belirli bir düzen içinde mi yoksa rastgele mi olduğunu anlamak için kullanılır.

Heteroskedastisite, finansal zaman serilerinde gözlemlenen değişkenliğin zaman içinde değişken olduğu durumu ifade eder. Finansal piyasalardaki volatilite (değişkenlik) zamanla farklılık gösterebilir. Bu durum, fiyat hareketlerinin belirli bir düzen içinde mi yoksa rastgele mi olduğunu anlamak ve bu değişkenliğin nasıl evrimleştiğini incelemek için önemlidir.

Heteroskedastisite genellikle finansal analizlerde regresyon modelleri uygularken karşılaşılan bir sorundur. Regresyon analizi, bağımsız değişkenlerin bağımlı değişken üzerindeki etkilerini incelemek için kullanılır. Ancak, heteroskedastisite durumunda hataların varyansı değişken olduğu için regresyon sonuçları yanıltıcı olabilir.

Bu nedenle, finansal analizlerde heteroskedastisiteyi belirlemek ve ele almak önemlidir. Çeşitli regresyon teknikleri, heteroskedastisiteyle başa çıkmak için kullanılabilir, örneğin, ağırlıklı en küçük kareler (WLS) veya heteroskedastisite-robust standart hatalar. Ayrıca, zaman serisi analizi ve volatilite modelleri gibi yöntemler de volatilite değişimini daha ayrıntılı bir şekilde incelemek için kullanılabilir.

Heteroskedastisiteyi belirlemek için sadece grafiklere bakmak yerine, istatistiksel testler ve yöntemler de kullanabilirsiniz. İşte heteroskedastisiteyi tespit etmek için kullanılabilecek bazı yöntemler:

  1. Breusch-Pagan Testi:
    • Bu test, hataların varyansının bağımsız değişkenlere bağlı olup olmadığını test eder. H0 hipotezi, varyansın bağımsız değişkenlere bağlı olmadığını belirtir. Eğer p-değeri anlamlıysa (genellikle 0.05'ten küçük), bu heteroskedastisiteye işaret edebilir.
  2. White Testi:
    • White testi, hataların karelerinin bağımsız değişkenlere bağlı olup olmadığını test eder. Breusch-Pagan testine benzer şekilde yorumlanabilir.
  3. Goldfeld-Quandt Testi:
    • Bu test, hataların varyansının gözlemler arasında eşit olup olmadığını kontrol eder. Eğer test sonucu anlamlıysa, bu heteroskedastisite olabileceğini gösterebilir.
  4. Park Testi:
    • Park testi, hataların karelerinin bağımsız değişkenlere bağlı olup olmadığını test eder. Breusch-Pagan ve White testleri gibi yorumlanabilir.
Bu testlerin uygulanması, heteroskedastisitenin olup olmadığını belirlemede size yardımcı olabilir. Python'da statsmodels kütüphanesi, bu testleri uygulamak için fonksiyonlar sağlar. Örneğin, Breusch-Pagan testi için het_breuschpagan fonksiyonunu, White testi için het_white fonksiyonunu kullanabilirsiniz.
 

algoritma

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,798
öncelikle Breusch-Pagan Testi ve White Testi
Kod:
import pandas as pd
import statsmodels.api as sm
from statsmodels.stats.diagnostic import het_breuschpagan, het_white

# CSV dosyasından veriyi yükleme
dosya_yolu = 'xu100/doas.is.csv'
df = pd.read_csv(dosya_yolu)

# Bağımlı değişken (örneğin, 'Close' fiyatları)
y = df['Close']

# Bağımsız değişken olarak bir sıralı indeks kullanma
X = sm.add_constant(range(len(df)))

# Regresyon modelini kurma
model = sm.OLS(y, X).fit()

# Breusch-Pagan testi
bp_test = het_breuschpagan(model.resid, X)
print("\nBreusch-Pagan Testi:")
print("LM Statistiği:", bp_test[0])
print("p-değeri:", bp_test[1])

# White testi
white_test = het_white(model.resid, X)
print("\nWhite Testi:")
print("LM Statistiği:", white_test[0])
print("p-değeri:", white_test[1])

sonuç şöyledir
Breusch-Pagan Testi:
LM Statistiği: 550.3522115537196
p-değeri: 1.0552851939744188e-121

White Testi:
LM Statistiği: 1235.2524062816005
p-değeri: 5.866081561681692e-269
 

algoritma

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,798
Daha sonra Robust Standart Hatalar
Kod:
import pandas as pd
import statsmodels.api as sm

# CSV dosyasından veriyi yükleme
dosya_yolu = 'xu100/doas.is.csv'
df = pd.read_csv(dosya_yolu)

# Bağımlı değişken (örneğin, 'Close' fiyatları)
y = df['Close']

# Bağımsız değişken olarak bir sıralı indeks kullanma
X = sm.add_constant(range(len(df)))

# Regresyon modelini kurma
model = sm.OLS(y, X).fit()

# Robust standart hataları alalım
robust_hatalar = model.get_robustcov_results()

# Model özetini yazdıralım
print(model.summary())

# Robust standart hataları içeren model özetini yazdıralım
print("\nRobust Standart Hatalar İle Model Özeti:")
print(robust_hatalar.summary())

sonuç şöyledir
Robust Standart Hatalar İle Model Özeti:
OLS Regression Results
==============================================================================
Dep. Variable: Close R-squared: 0.287
Model: OLS Adj. R-squared: 0.286
Method: Least Squares F-statistic: 843.0
Date: Sun, 12 Nov 2023 Prob (F-statistic): 2.16e-171
Time: 09:49:30 Log-Likelihood: -25124.
No. Observations: 4991 AIC: 5.025e+04
Df Residuals: 4989 BIC: 5.027e+04
Df Model: 1
Covariance Type: HC1
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const -20.8639 0.962 -21.679 0.000 -22.751 -18.977
x1 0.0163 0.001 29.034 0.000 0.015 0.017
==============================================================================
Omnibus: 3622.419 Durbin-Watson: 0.002
Prob(Omnibus): 0.000 Jarque-Bera (JB): 58102.606
Skew: 3.388 Prob(JB): 0.00
Kurtosis: 18.280 Cond. No. 5.76e+03
==============================================================================

Robust Standart Hatalar İle Model Özeti çıktısındaki önemli noktalara odaklanabiliriz:

  1. R-kare (R-squared) ve Ayarlanmış R-kare (Adj. R-squared): Bağımlı değişkenin varyansının bağımsız değişkenler tarafından açıklanan yüzdesini ifade eder. Bu değer ne kadar yüksekse, modelin açıklama gücü o kadar iyidir. Ancak, düşük bir R-kare değeri modelin başarısız olduğu anlamına gelmez, çünkü finansal veriler genellikle karmaşık ve tahmin zor olabilir.
  2. F-istatistik ve p-değeri: Modelin genel anlamda istatistiksel olarak anlamlılığını değerlendirir. Düşük bir p-değeri (genellikle 0.05'ten küçük) modelin istatistiksel olarak anlamlı olduğunu gösterir.
  3. Katsayılar (coef): Bağımsız değişkenlerin katsayıları, bağımsız değişkenlerin bağımlı değişken üzerindeki etkisini temsil eder.
  4. Standart Hatalar (std err): Bu değerler, katsayıların tahmin edilen standart sapmalarını gösterir. Robust standart hatalar kullanılarak heteroskedastisiteye karşı dirençli tahminler elde edilir.
  5. t İstatistikleri ve p-değerleri: Katsayıların anlamlılığını değerlendirmek için kullanılır. t İstatistiği, katsayının tahmini standart sapmasına bölünerek hesaplanır. Düşük bir p-değeri (genellikle 0.05'ten küçük) katsayının anlamlı olduğunu gösterir.
  6. Omnibus, Jarque-Bera ve diğer istatistikler: Bu değerler normalite ve homoskedastisite gibi model varsayımlarını değerlendirir. Özellikle Jarque-Bera testi, hataların normal dağılıma ne kadar uygun olduğunu değerlendirir.
  7. Notlar (Notes): Bu bölümde modelle ilgili önemli notlar bulunabilir. Örneğin, "Standard Errors are heteroscedasticity robust (HC1)" notu, robust standart hataların kullanıldığını belirtir.
  8. Multicollinearity Notu: "The condition number is large, 5.76e+03. This might indicate that there are strong multicollinearity or other numerical problems." notu, modelde çoklu doğrusallığın veya başka sayısal sorunların olabileceğini belirtir. Bu durumu göz önünde bulundurmalısınız.
Bu çıktıya göre, modelinizin istatistiksel olarak anlamlı olduğu ancak belirli varsayımların ihlal edildiği görülüyor. Robust standart hataların kullanılması, heteroskedastisiteye karşı dirençli tahminler sağlar, ancak diğer sorunları değerlendirmek de önemlidir. Özellikle, çoklu doğrusallık sorununu çözmek veya modelinizi başka yöntemlerle iyileştirmek isteyebilirsiniz.
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap