Download "R ile Regresyon Analizi. EM 320 İleri Regresyon Analizi Ders Notları. Dr. Hüseyin GÜLER"
1 Dr. Hüseyin Güler 27 Şubat 2015 Çukurova Üniversitesi Adana R ile Regresyon Analizi EM 320 İleri Regresyon Analizi Ders Notları Dr. Hüseyin GÜLER
2 Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 2 İçindekiler İçindekiler 2 Tablolar Listesi 3 Şekiller Listesi 4 1. R da Veri Girişi Verilerin Doğrudan R da Girilmesi Verilerin Metin Dosyasından R a Aktarılması Verilerin Excel den R a Aktarılması R da Basit Doğrusal Regresyon Modeli 14
3 Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 3 Tablolar Listesi Tablo 1-1. Öğrencilerin vize ve final notları... 5 Tablo 2-1. Regresyon modeli için bazı detaylı istatistikler... 16
4 Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 4 Şekiller Listesi Şekil 1-1. Vize ve final notlarının doğrudan R a girilmesi... 6 Şekil 1-2. Girilen verilerin görüntülenmesi... 7 Şekil 1-3. Verilerin tabloya (data frame) aktarılması... 8 Şekil 1-4. Vize ve final notlarının Not Defterine girilmesi... 9 Şekil 1-5. R da çalışma dizininin değiştirilmesi Şekil 1-6. Metin dosyasının R a aktarılması ve verilerin görüntülenmesi Şekil 1-7. Notların Excel e girilmesi Şekil 1-8. Excel deki notların Metin (Sekmeyle ayrılmış) formatında kaydedilmesi Şekil 1-9. Excel de hazırlanıp metin dosyasına çevrilen verinin R a aktarılması ve verilerin görüntülenmesi Şekil 2-1. Vize ve final notları için basit doğrusal regresyon modelinin R da tahmini Şekil 2-2. Tahmin edilen model için bazı istatistikler... 17
5 Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 5 1. R da Veri Girişi R da veri girişi için çok sayıda farklı yöntem vardır. Burada verilerin doğrudan R da girilmesi, bir metin dosyasından R a aktarılması ve Excel den R a aktarılması incelenecektir. Tablo 1-1 deki örnek veri setini ele alalım. Bu veri rasgele seçilen 10 öğrencinin İleri Regresyon Analizi dersinden aldıkları notları göstermektedir. Takip eden altbölümlerde verilerin R a nasıl girileceği bu örnek üzerinden anlatılacaktır. Tablo 1-1. Öğrencilerin vize ve final notları Öğrenci, i Vize notu, x i Final notu, y i Verilerin Doğrudan R da Girilmesi R ı çalıştırın. Ardından vize ve final notlarını girmek için sırasıyla vize <- c(56,70,52,6,61,54,85,38,23,92) ve final <- c(60,81,64,15,78,76,100,43,19,100) komutlarını uygulayın.
6 Şekil 1-1. Vize ve final notlarının doğrudan R a girilmesi Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 6 Girdiğiniz verileri görmek için değişken isimlerini yazıp Enter tuşuna basabilirsiniz. Örneğin vize notlarını görmek için vize komutu verilebilir.
7 Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 7 Şekil 1-2. Girilen verilerin görüntülenmesi Bu veriler daha sonra regresyon analizinde kullanılacaksa vize ve final isimli vektörler birleştirilerek bir tabloya (data frame) atılabilirler. Bunun için notlar <- data.frame(vize,final) komutu verilebilir. Bu komut vize ve final isimli vektörleri notlar isimli tabloda birleştirir. Oluşturulan tabloyu görmek için tablonun ismi yazılabilir. Bu işlemler yapıldığında Şekil 1-3 deki ekran görüntüsü ile karşılaşılır.
8 Şekil 1-3. Verilerin tabloya (data frame) aktarılması Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 8 Ayrıca bu tablo bir R veri dosyasına kaydedilecekse save(notlar, file="notlar.rda") komutu verilebilir. Bu komut notlar tablosunu bir R nesnesi (R object) olarak mevcut Çalışma dizinine 1 notlar.rda ismiyle kaydeder. Daha sonra bu verilerin yüklenmesi istenirse verilerin olduğu dizin Çalışma dizini olarak seçildikten sonra load("notlar.rda") attach(notlar) komutu verilir. Bu komutun ilk satırı Çalışma dizini ndeki notlar.rda isimli R veri dosyasını hafızaya yükler. İkinci satır ise hafızaya yüklenen veri dosyasındaki notlar isimli tabloya ulaşmayı sağlar. Eğer yüklenen R dosyasındaki tabloların ismi bilinmiyorsa ls() komutu verilebilir. Bu sayede ilgili dosyadaki tabloların adları görülebilir. Bu verilerle yapılacak işler bittikten sonra detach(notlar) komutu verilerek tablo ile bağlantı kesilmelidir. 1 Çalışma dizini ve nasıl değiştirileceği ile ilgili ayrıntılı bilgi için Şekil 1-5 e ve açıklamalarına bakınız.
9 1.2. Verilerin Metin Dosyasından R a Aktarılması Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 9 Verileri R a girmenin bir diğer yolu da önce bir metin dosyası olarak kaydedilmesi ve bu metin dosyasının R a aktarılmasıdır. Bunun için Not Defteri veya benzeri bir metin editörü açın. Ardından ilk satıra aralarında boşluk bırakarak değişken adlarını yazın. Sonrasında her bir satıra gözlemleri girin. Gözlemleri girerken her bir veri arasında bir boşluk bırakın. Ardından verileri herhangi bir klasöre kaydedin. Tablo 1-1 deki örnek veriler Not Defteri ne girildikten sonra Masaüstü ne notlar.txt ismiyle kaydedilebilir. Bu işlem sonundaki ekran görüntüsü Şekil 1-4 deki gibi olacaktır. Şekil 1-4. Vize ve final notlarının Not Defterine girilmesi Masaüstü ne kaydedilen notlar.txt dosyasının R a aktarılması için öncelikle R ın çalışma dizininin Masaüstü olarak değiştirilmesi gerekir. Bunun için R da Dosya menüsüne ve ardından Dizin Değiştir e tıklanır. Açılan pencereden Masaüstü seçilir ve Tamam a tıklanır. Bu işlemin ekran görüntüsü Şekil 1-5 deki gibidir. Daha sonra notlar.txt dosyasındaki verilerin R a aktarılması için notlar <- read.table("notlar.txt", header=true, sep=" ") komutu verilir. Bu komut notlar.txt dosyasındaki veriyi okur ve bunu R da notlar tablosunda (data frame) saklar. Burada header=true komutu notlar.txt dosyasının ilk satırında değişken adları olduğunu belirtmek için kullanılır. sep=" " komutu ise her bir sütunun birbirinden Boşluk ile ayrıldığını belirtmektedir. Burada vize ve final notları bir önceki yöntemden farklı olarak ayrı ayrı değişkenlerde değil, notlar isimli bir tabloda tutulurlar. notlar tablosundaki verileri görüntülemek için tablonun ismini yazmak yeterlidir. Bu işlemler Şekil 1-6 da özetlenmektedir.
10 Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 10 Şekil 1-5. R da çalışma dizininin değiştirilmesi Şekil 1-6. Metin dosyasının R a aktarılması ve verilerin görüntülenmesi
11 Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 11 Metin dosyasından aktarılan ve veriler tablosunda tutulan bu veri yine bir R veri dosyasına kaydedilecekse save(notlar, file="notlar.rda") komutu verilebilir. Bu komut notlar tablosunu bir R nesnesi (R object) olarak mevcut Çalışma dizinine notlar.rda ismiyle kaydeder Verilerin Excel den R a Aktarılması Burada veriler ilk olarak Şekil 1-7 deki gibi Excel e girilir. Arzu edilirse Excel dosyası kaydedilebilir. Ancak veriler bu haliyle R a aktarılamaz. Bu verilerin Metin (Sekmeyle ayrılmış) veya CSV (Virgülle ayrılmış) formatlarından biriyle kaydedilmesi gerekir. Bunun için Dosya menüsünden Farklı Kaydet seçilir, istenilen Kayıt türü seçilir ve veriler istenilen bir klasöre (örneğimizde Masaüstü) kaydedilir. Örneğimizde veriler regresyonnotlari.txt ismiyle ve Metin (Sekmeyle ayrılmış) türünde Masasüstü ne kaydedilmiştir. Şekil 1-8 de bu işlemin nasıl yapılacağı görülmektedir. Arzu edilirse dosya CSV (Virgülle ayrılmış) türünde de kaydedilebilir. Şekil 1-7. Notların Excel e girilmesi
12 Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 12 Şekil 1-8. Excel deki notların Metin (Sekmeyle ayrılmış) formatında kaydedilmesi Bu verilerin R a aktarılması için R ın çalışma dizininin Masaüstü olması gerekmektedir. Çalışma dizininin nasıl değiştirilebileceği Şekil 1-5 de özetlenmektedir. Metin (Sekmeyle ayrılmış) ve CSV (Virgülle ayrılmış) formatlarındaki verilerin R da okutulması için sırasıyla read.delim ve read.csv komutları kullanılabilir. Eğer veriler ondalıklı basamaklara sahipse ve ondalıklı basamaklar virgül ile ayrılmışsa (ör: 2,315) bu komutlar sırasıyla read.delim2 ve read.csv2 şeklinde kullanılır. Masaüstü ne regresyonnotlari.txt ismiyle ve Metin (Sekmeyle ayrılmış) türünde kaydettiğimiz veriyi R da notlar isimli tabloya yüklemek için notlar <- read.delim("regresyonnotlari.txt", header=true) komutu kullanılabilir. Bu komut girildiğinde veriler notlar isimli tabloya aktarılmış olur. Bu verileri görmek için tablonun adının yazılması yeterlidir. Bu işlemler yapıldığında ekran görüntüsü Şekil 1-9 daki gibi olur.
13 Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 13 Şekil 1-9. Excel de hazırlanıp metin dosyasına çevrilen verinin R a aktarılması ve verilerin görüntülenmesi CSV (Virgülle ayrılmış) formatındaki verilerin R a aktarılması da benzer şekilde gerçekleştirilir. Burada farklı olarak Excel deki veriler farklı kaydedilirken Kayıt türü olarak CSV (Virgülle ayrılmış) seçilir ve veriler okutulurken read.delim yerine read.csv komutu kullanılır. Benzer şekilde Excel den aktarılan ve notlar tablosunda tutulan bu veri yine bir R veri dosyasına kaydedilecekse save(notlar, file="notlar.rda") komutu verilebilir. Bu komut notlar tablosunu bir R nesnesi (R object) olarak mevcut Çalışma dizinine notlar.rda ismiyle kaydeder.
14 2. R da Basit Doğrusal Regresyon Modeli Bir önceki bölümde anlatılan yöntemlerden herhangi birisiyle veriler R a aktarıldıktan sonra basit doğrusal regresyon modeli parametrelerinin tahmini yapılabilir. Basit doğrusal regresyon modelinin tahmininde kullanılacak R komutu lm() olup (linear model) bu komutun en basit haliyle söz dizimi lm(formul, data) şeklindedir. Burada formul ifadesi regresyon modelini tanımlamak, data ifadesi ise veri setini seçmek için kullanılır. formul ifadesi regresyon modelindeki bağımlı bağımsız değişkenleri belirlemek ve regresyon fonksiyonunun kalıbını belirlemek için kullanılır. Veriler hafızada bir tablo halinde tutuluyorsa data komutuyla bu tablonun adı belirtilir. Ancak veriler R a doğrudan girilmişse ve bir tablo halinde tutulmuyorsa data komutu kullanılmamalıdır. Hafızaya yer alan notlar isimli tablodaki vize ve final değişkenleri kullanılarak basit doğrusal regresyon modelinin tahmin edilmek istendiğini varsayalım. Burada final notları bağımlı, vize notları bağımsız değişken olsun. Bu durumda verilmesi gereken komut model <- lm(final ~ vize, data=notlar) şeklindedir. Bu komut notlar tablosunda yer alan final değişkenini bağımlı, vize değişkenini bağımsız değişken kabul ederek sabit terimi de olan bir basit doğrusal regresyon modelini tahmin eder. Kurulan modelle ilgili tüm tahminler ve istatistikler hafızada model isimli nesnede tutulur. Bu modele ait parametre tahminlerini, t testlerini ve tahmin sonuçlarını görmek için summary(model) komutu verilebilir. Bu komutlar peş peşe verildiğinde ekran görüntüsü Şekil 2-1 deki gibi olacaktır. summary komutun çıktılarında ilk olarak lm() komutunun kullanıcı tarafından nasıl çağrıldığı ekrana yazılmıştır. Ardından Residuals kısmında artıklarla ilgili bir takım özet istatistikler verilmiştir. Coefficients kısmında parametre tahminleri, standart hataları, katsayıların anlamlılık testinde hesaplanan t istatistikleri ve bu istatistiklere ait p değerleri raporlanmıştır. Signif. codes başlıklı kısımda p değerlerinin anlamlı bulunduğu minimum anlamlılık düzeyleri özetlenmiştir. Daha sonra Residual standard errors da regresyonun standart hatası ve buna ait serbestlik derecesi; Multiple R- squared ve Adjusted R-squared kısmında sırasıyla belirleme katsayısı ve uyarlanmış belirleme katsayısı; F-statistic kısmında ise modelin anlamlılığı için hesaplanan F istatistiği, buna ait serbestlik dereceleri ve p değeri yer almaktadır.
15 Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 15 Şekil 2-1. Vize ve final notları için basit doğrusal regresyon modelinin R da tahmini Şekil 2-1 deki çıktılar doğrultusunda tahmin edilen regresyon modeli şu şekilde özetlenebilir: : p < 0,001 final = 3, ,111vize (5,359) (0,090) [0,736] [12,273] σ = 7,147 R 2 = 0,9496 F = 150,6
16 Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 16 Modele ait daha detaylı istatistiklere ulaşmak için Tablo 2-1 deki komutlar kullanılabilir. Tablo 2-1. Regresyon modeli için bazı detaylı istatistikler Komut Açıklama Örnek kullanım coefficients Katsayı tahminlerini verir bsapka <- coefficients(model) residuals Artıkları verir e <- residuals(model) fitted.values Bağımlı değişken tahminlerini verir df.residual Artıkların serbestlik derecesini verir sd <- df.residual(model) confint predict Parametre tahminleri için güven aralıklarını verir Ortalama yanıt veya yeni gözlemlerin kestirimi ile bunlar için güven aralıklarını verir ysapka <- fitted.values(model) guven <- confint(model, level=0.90) eysapka <- predict(model, interval = "confidence", level=0.95) y0sapka <- predict(model, interval = "prediction", level=0.95) Tablo 2-1 deki komutlar tahmin edilen modele uygulandığında Şekil 2-2 deki istatistikler elde edilmiştir.
17 Şekil 2-2. Tahmin edilen model için bazı istatistikler Dr. Hüseyin GÜLER / R ile Regresyon Analizi / 17 Hafızadaki tüm bu değişkenlerle işiniz bittiğinde onları silmek için rm(list=ls()) komutunu verebilirsiniz. Ayrıca ekrandaki çıktıları temizlemek için klavyenizden Ctlr ve L tuşlarına birlikte basabilirsiniz.
Defterdar Teknik Doküman
EYLÜL 2014 sürüm 1.0 İzibiz Bilgi Teknolojileri A.Ş. Tel: 0 850 811 11 99 satis@izibiz.com.tr www.izibiz.com.tr İçindekiler 1 GİRİŞ... 1 1.1... Kapsamı ve Amacı... 1 1.2... Genel Bakış... 1 2 DEFTERDAR
Checkpoint SmartCenter da hızlı obje yaratmak
[Alt başlık girilecek] Checkpoint SmartCenter da hızlı obje yaratmak Ofiller ve dbedit kullanılarak çok sayıda objenin hızlıca girilmesi Amaç Checkpoint VPN-1 ürünü, SmartDashboard adı verilen yönetim
Bağlantılar dışarıdan alınan verilerin (bu farklı Excel dosyası da olabilir) özelliklerini düzenlemek ve verilerin son halini almak için kullanılır.
MICROSOFT EXCEL 2010 Tekno-K@mp Eğitim ID 1 Seviye 2/4 (Normal Seviye Kullanıcı) Tekno-K@mp Konu ID 23 Ana Kategori Menüler / Sekmeler Alt Kategori Veri Sekmesi Konu Veri Araçları ve Anahat Grupları Ek