Python'da i̇ki değişkenli analiz nasıl gerçekleştirilir: örneklerle


İki değişkenli analiz terimi, iki değişkenin analizini ifade eder. Bunu “bi” ön ekinin “iki” anlamına gelmesinden dolayı hatırlayabilirsiniz.

İki değişkenli analizin amacı iki değişken arasındaki ilişkiyi anlamaktır.

İki değişkenli analiz gerçekleştirmenin üç yaygın yolu vardır:

1. Nokta bulutları

2. Korelasyon katsayıları

3. Basit doğrusal regresyon

Aşağıdaki örnek, iki değişken hakkında bilgi içeren aşağıdaki pandalar DataFrame’i kullanarak Python’da bu iki değişkenli analiz türlerinin her birinin nasıl gerçekleştirileceğini gösterir: (1) Çalışmak için harcanan saatler ve (2) 20 farklı öğrenci tarafından alınan sınav puanı:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' hours ': [1, 1, 1, 2, 2, 2, 3, 3, 3, 3,
                             3, 4, 4, 5, 5, 6, 6, 6, 7, 8],
                   ' score ': [75, 66, 68, 74, 78, 72, 85, 82, 90, 82,
                             80, 88, 85, 90, 92, 94, 94, 88, 91, 96]})

#view first five rows of DataFrame
df. head ()

	hours score
0 1 75
1 1 66
2 1 68
3 2 74
4 2 78

1. Nokta bulutları

Sınav sonuçlarına karşı çalışılan saatlerin dağılım grafiğini oluşturmak için aşağıdaki sözdizimini kullanabiliriz:

 import matplotlib. pyplot as plt

#create scatterplot of hours vs. score
plt. scatter (df. hours , df. score )
plt. title (' Hours Studied vs. Exam Score ')
plt. xlabel (' Hours Studied ')
plt. ylabel (' Exam Score ')

X ekseni çalışılan saatleri, y ekseni ise sınavda alınan notu gösterir.

Grafik, iki değişken arasında pozitif bir ilişki olduğunu göstermektedir: Çalışma saati arttıkça sınav puanları da artma eğilimindedir.

2. Korelasyon katsayıları

Pearson korelasyon katsayısı, iki değişken arasındaki doğrusal ilişkiyi ölçmenin bir yoludur.

Korelasyon matrisi oluşturmak için pandalarda corr() fonksiyonunu kullanabiliriz:

 #create correlation matrix
df. corr ()

	hours score
hours 1.000000 0.891306
score 0.891306 1.000000

Korelasyon katsayısı 0,891 olarak çıkıyor. Bu, çalışılan saat ile sınav notu arasında güçlü bir pozitif korelasyon olduğunu gösterir.

3. Basit doğrusal regresyon

Basit doğrusal regresyon, iki değişken arasındaki ilişkiyi ölçmek için kullanabileceğimiz istatistiksel bir yöntemdir.

Çalışılan saatler ve alınan sınav sonuçları için basit bir doğrusal regresyon modelini hızlı bir şekilde uyarlamak amacıyla statsmodels paketindeki OLS() işlevini kullanabiliriz:

 import statsmodels. api as sm

#define response variable
y = df[' score ']

#define explanatory variable
x = df[[' hours ']]

#add constant to predictor variables
x = sm. add_constant (x)

#fit linear regression model
model = sm. OLS (y,x). fit ()

#view model summary
print ( model.summary ())

                            OLS Regression Results                            
==================================================== ============================
Dept. Variable: R-squared score: 0.794
Model: OLS Adj. R-squared: 0.783
Method: Least Squares F-statistic: 69.56
Date: Mon, 22 Nov 2021 Prob (F-statistic): 1.35e-07
Time: 16:15:52 Log-Likelihood: -55,886
No. Observations: 20 AIC: 115.8
Df Residuals: 18 BIC: 117.8
Model: 1                                         
Covariance Type: non-robust                                         
==================================================== ============================
                 coef std err t P>|t| [0.025 0.975]
-------------------------------------------------- ----------------------------
const 69.0734 1.965 35.149 0.000 64.945 73.202
hours 3.8471 0.461 8.340 0.000 2.878 4.816
==================================================== ============================
Omnibus: 0.171 Durbin-Watson: 1.404
Prob(Omnibus): 0.918 Jarque-Bera (JB): 0.177
Skew: 0.165 Prob(JB): 0.915
Kurtosis: 2.679 Cond. No. 9.37
==================================================== ============================

Uygun regresyon denklemi şu şekilde ortaya çıkıyor:

Sınav puanı = 69,0734 + 3,8471*(çalışma saati)

Bu bize, çalışılan her ek saatin sınav puanında ortalama 3,8471 artışla ilişkili olduğunu söylüyor.

Bir öğrencinin toplam ders saatine göre alacağı puanı tahmin etmek için uygun regresyon denklemini de kullanabiliriz.

Örneğin 3 saat ders çalışan bir öğrencinin 81.6147 puan alması gerekir:

  • Sınav puanı = 69,0734 + 3,8471*(çalışma saati)
  • Sınav puanı = 69,0734 + 3,8471*(3)
  • Sınav sonucu = 81.6147

Ek kaynaklar

Aşağıdaki eğitimler iki değişkenli analiz hakkında ek bilgi sağlar:

İki Değişkenli Analize Giriş
Gerçek hayatta iki değişkenli verilere 5 örnek
Basit Doğrusal Regresyona Giriş
Pearson Korelasyon Katsayısına Giriş

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir