Numunelerin yeniden şekillendirilmesine veya karıştırılmasına bağlı olan farklı Yeniden Örnekleme yöntemlerini veya gevşek olarak " simülasyon " yöntemlerini bulabiliriz . Uygun terminolojiyle ilgili görüşlerde farklılıklar olabilir, ancak aşağıdaki tartışma uygun literatürde neyin mevcut olduğunu genelleştirmeye ve basitleştirmeye çalışır:
Örnekleme yöntemleri (1) veri alt kümesini kullanarak (örn. Jackknifing) örnek istatistiklerin kesinliğini / doğruluğunu tahmin etmek veya bir dizi veri noktasından (örneğin önyükleme) (2) önemi yerine getirirken veri noktalarına etiket alışverişi yapmak yoluyla rastgele çizim yapmakta kullanılır. testleri (permütasyon testleri, aynı zamanda kesin testler, rastgele testler veya yeniden rastgele testler de denir) (3) Rasgele altkümeler kullanarak modellerin doğrulanması (önyükleme, çapraz doğrulama) (bkz. wikipedia: yeniden örnekleme yöntemleri )
ön yükleme
" Önyükleme , bir tahmincinin örnekleme dağılımını tahmin etmek için bir orjinal örnekten değiştirilerek örnekleme yaparak istatistiksel bir yöntemdir ". Yöntem, örnek tahminleri için doğruluk ölçütleri ( önyargı , varyans , güven aralığı , tahmin hatası veya diğer bazı önlemlerle tanımlanır) atar .
Önyükleme temel fikri, örnek verilerden ( örnek → popülasyondan ) bir popülasyon hakkında çıkarımın, örnek veriyi yeniden örnekleyerek ve üzerinde (yeniden örnekleme → örnek) çıkarım gerçekleştirerek modellenebilmesidir. Nüfus bilinmediği için, bir popülasyon değerine karşı bir istatistikte gerçek hata bilinmemektedir. Önyükleme örneklerinde 'popülasyon' aslında örneklemdir ve bu bilinmektedir; dolayısıyla 'gerçek' numunesinin → yeniden örnekleme verilerinden çıkarımın kalitesi ölçülebilir olur." bkz wikipedia
Yvar <- c(8,9,10,13,12, 14,18,12,8,9, 1,3,2,3,4)
#To generate a single bootstrap sample
sample(Yvar, replace = TRUE)
#generate 1000 bootstrap samples
boot <-list()
for (i in 1:1000)
boot[[i]] <- sample(Yvar,replace=TRUE)
Tek değişkenli problemlerde, bireysel gözlemlerin yerine koyma ("vaka yeniden örnekleme") ile yeniden örneklenmesi kabul edilebilir. Burada, değiştirilen verileri yeniden örnekleyeceğiz ve örneklemin boyutu, orijinal veri kümesinin boyutuna eşit olmalıdır.
Regresyon problemlerinde vaka yeniden örneklemesi, bireysel vakaları yeniden örneklemenin basit şemasını ifade eder - genellikle regresyon problemlerinde ayarlanan bir veri satırları, açıklayıcı değişkenler genellikle sabittir veya en azından yanıt değişkeninden daha fazla kontrol ile gözlenir. Ayrıca, açıklayıcı değişkenlerin aralığı, onlardan elde edilen bilgileri tanımlar. Bu nedenle, vakaları yeniden örneklemek için her önyükleme örneğinin bazı bilgileri kaybedeceği anlamına gelir ( Wikipedia'ya bakın ). Bu yüzden sadece veri satırlarını örneklemek mantıklı olacaktır Yvar
.
Yvar <- c(8,9,10,13,12, 14,18,12,8,9, 1,3,2,3,4)
Xvar <- c(rep("A", 5), rep("B", 5), rep("C", 5))
mydf <- data.frame (Yvar, Xvar)
boot.samples <- list()
for(i in 1:10) {
b.samples.cases <- sample(length(Xvar), length(Xvar), replace=TRUE)
b.mydf <- mydf[b.samples.cases,]
boot.samples[[i]] <- b.mydf
}
str(boot.samples)
boot.samples[1]
Değiştirilen örnekleme yaparken bazı vakaların tekrarlandığını görebilirsiniz.
" Parametrik önyükleme - verilere genellikle maksimum olasılıkla bir parametrik model yerleştirilir ve bu yerleştirilmiş modelden rastgele sayı örnekleri alınır . Genellikle çekilen örnek, orijinal verilerle aynı örnek boyutuna sahiptir. Sonra, miktar veya tahmin Bu verilerden ilgi konusu hesaplanır.Bu örnekleme işlemi, diğer önyükleme yöntemlerinde olduğu gibi birçok kez tekrarlanır .. Önyükleme yönteminin örnekleme aşamasında parametrik bir modelin kullanılması, temel istatistik teorisinin uygulanmasıyla elde edilenlerden farklı olan işlemlere yol açar. Aynı model için çıkarım. "(bkz. Wikipedia ). Aşağıdaki, ortalama ve standart sapma parametreleriyle normal dağılım varsayımına sahip parametrik önyüklemedir.
Yvar <- c(8,9,10,13,12, 14,18,12,8,9, 1,3,2,3,4)
# parameters for Yvar
mean.y <- mean(Yvar)
sd.y <- sd(Yvar)
#To generate a single bootstrap sample with assumed normal distribution (mean, sd)
rnorm(length(Yvar), mean.y, sd.y)
#generate 1000 bootstrap samples
boot <-list()
for (i in 1:1000)
boot[[i]] <- rnorm(length(Yvar), mean.y, sd.y)
Diğer bootstrap çeşitleri de var, lütfen örnekleme sayfasındaki wikipedia sayfasını veya iyi bir statik kitabı inceleyiniz.
Jacknife
"Bir parametrenin jackknife tahmincisi, her bir gözlemin bir veri setinden sistematik olarak bırakılması ve tahminin hesaplanması ve daha sonra bu hesaplamaların ortağının bulunmasıyla bulunur. N boyutuna bir örnek verildiğinde, jackknife tahmini, her N − 1
tahminin tahminlerini toplayarak bulunur örnekte. " bakınız: wikipedia Aşağıdaki nasıl kullanılacağını gösterir Yvar
.
jackdf <- list()
jack <- numeric(length(Yvar)-1)
for (i in 1:length (Yvar)){
for (j in 1:length(Yvar)){
if(j < i){
jack[j] <- Yvar[j]
} else if(j > i) {
jack[j-1] <- Yvar[j]
}
}
jackdf[[i]] <- jack
}
jackdf
"normal bootstrap ve jackknife, bir istatistiğin parametrik varsayımlardan ziyade , bu istatistiğin alt örnekler arasındaki değişkenlikten değişkenliğini tahmin eder . Her ikisi de benzer sayısal sonuçlar verir, bu yüzden her biri diğerine yaklaşım olarak görülebilir. " Jackstife vs Bootstrap bu soruya bakın .
RANDOMİZASYON TESTLERİ
"Parametrik testlerde rastgele bir veya daha fazla popülasyondan örnek alıyoruz. Bu popülasyonlar hakkında, genellikle normalde eşit varyanslarla dağıldıklarına dair bazı varsayımlar yapıyoruz. Genellikle m1 formundan parametreler olarak çerçevelenmiş boş bir hipotez kuruyoruz. -m2 = 0. Örnek istatistiklerimizi ilgili popülasyon parametrelerinin tahminleri olarak kullanıyoruz ve bir test istatistiğini hesaplıyoruz (örneğin testte) Örneğin: Öğrenci varyanslarında varyansların bilinmediği ancak fark edilmediği zamanlardaki farklar için t testi. eşit olması, ilgi hipotezi şöyledir H0: m1 = m2
: Alternatif hipotezlerden biri şöyle ifade edilir:HA: m1 < m2
. 1. ve 2. popülasyonlardan çizilmiş iki örnek göz önüne alındığında, bunların normalde eşit varyansa sahip dağılımlı popülasyonlar olduğu ve numunelerin her popülasyondan bağımsız ve rastgele bir şekilde çekildiği varsayılarak, dağıtımı bilinen bir istatistik test edilebilir H0
.
Bu dağıtım varsayımlarından kaçınmanın bir yolu, artık parametrik olmayan, sıralama sırası, sıralama benzeri ve dağıtım gerektirmeyen istatistikler olarak adlandırılan yaklaşım olmuştur. Bu dağıtımsız istatistikler, popülasyonların normal olarak dağılmış olduğu varsayımına dayanarak analog testten daha az "verimli" olduğu için eleştirilir.
Bir başka alternatif yaklaşım ise randomizasyon yaklaşımıdır - "rastgele atanma süreci, birinin bir gözlemlemenin bir üyesi olduğu bilgisinden bağımsız olarak gözlemlere dayanır. gözlemlerin sıralaması Bu nedenle, benzer bir istatistiğin dağılımı (bir örnekteki gözlemlerin toplamı), böyle bir dağılımı saymak teorik olarak mümkün olsa da, kolayca tablolaştırılamaz "( bakınız )
Randomizasyon testleri hemen hemen her açıdan parametrik testlerden farklıdır. (1) Bir veya daha fazla popülasyondan rastgele örnek almamıza gerek yoktur - aslında rastgele örnekleme yapmayız. (2) Verilerin geldiği popülasyonlar hakkında nadiren düşünüyoruz ve normallik veya homoscedasticity hakkında bir şey varsaymaya gerek yoktur (3) Bizim boş hipotezimizin parametrelerle hiçbir ilgisi yoktur, ancak örneğin, tedavinin katılımcıların performanslarını etkilemediği hipotezi (4) Nüfuslarla ilgilenmediğimiz için, bu nüfusların özelliklerini tahmin etme (hatta test etme) ile ilgilenmiyoruz (5) Bazılarını hesaplıyoruz Bir çeşit test istatistiği olmakla birlikte, bu istatistiği tablodaki dağılımlarla karşılaştırmayız. Yerine, Verileri gruplar arasında art arda randomize ettiğimizde elde ettiğimiz sonuçlarla karşılaştırır ve her randomizasyon için karşılık gelen istatistiği hesaplarız. (6) Parametrik testlerden çok daha fazla olsa da, randomizasyon testleri katılımcıların tedavilere rasgele atanmasının önemini vurgular. ”bkz .
Çok popüler olan randomizasyon testinin türü permütasyon testidir. Eğer örneklem büyüklüğümüz 12 ve 5 ise, toplam permütasyon mümkündür C(12,5) = 792
. Örneklem büyüklüğümüz 10 ve 15 ise, 3,2 milyonun üzerinde düzenleme yapmak mümkün olacaktı. Bu hesaplama zorluğu: Peki o zaman? Örnek . Olası düzenlemelerin evreni sayılmayacak kadar büyük olduğunda, neden bu evrenden gelen düzenlemeleri bağımsız ve rastgele örneklemiyorsunuz? Test istatistiklerinin bu örnek serileri üzerindeki dağılımı daha sonra tablolaştırılabilir, ortalama ve varyansı hesaplanabilir ve tahmin edilen bir hipotez testiyle ilişkili hata oranı hesaplanabilir.
İZİN TESTİ
Wikipedia'ya göre "Bir permütasyon testi (ayrıca bir randomizasyon testi , yeniden randomizasyon testi veya kesin bir test de denir) bir test istatistiksel istatistiğinin boş hipotez altında dağıtılması mümkün olan tüm değerler hesaplanarak elde edilir. Etiketlerin , gözlemlenen veri noktalarındaki yeniden düzenlemeleri altındaki test istatistiklerinin dağılımı: Dağılımının bilinip bilinmediğine bakılmaksızın, herhangi bir test istatistiği için permütasyon testleri mevcuttur. Bu da kayıpları en aza indirir. "
Permütasyon ve önyükleme arasındaki fark , değiştirme ile önyükleme örneği ve değiştirme olmadan permütasyon örneğidir . Her iki durumda da, gözlemlerin zaman sırası kaybolur ve dolayısıyla uçuculuk kümelenmesi kaybolur - böylece numunelerin uçuculuk kümelenmesinin sıfır hipotezi altında kalmasını sağlar.
Permütasyonlar her zaman aynı gözlemlerin hepsine sahiptir, bu yüzden önyükleme örneklerinden ziyade orijinal veriler gibidir. Beklenti, permütasyon testinin bir bootstrap testinden daha hassas olması gerektiğidir. Müdahaleler değişkenlik kümelenmesini tahrip etmektedir, ancak başka bir değişkenlik katmamaktadır .
Bootstrapping vs permütasyon hakkındaki soruya bakın - "Permütasyon testi, hipotezleri test etmek için en iyisidir ve bootstrapping, güven aralıklarını tahmin etmek için en iyisidir ".
Dolayısıyla bu durumda permütasyon gerçekleştirmek replace = FALSE
için yukarıdaki önyükleme örneğindeki değişiklikleri değiştirebiliriz .
Yvar <- c(8,9,10,13,12, 14,18,12,8,9, 1,3,2,3,4)
#generate 1000 bootstrap samples
permutes <-list()
for (i in 1:1000)
permutes[[i]] <- sample(Yvar,replace=FALSE)
Birden fazla değişken olması durumunda, yalnızca satırların toplanması ve sıranın yeniden değiştirilmesi, veriler aynı kalacağından hiçbir fark yaratmayacaktır. Böylece y değişkenini değiştiririz. Bir şey yaptın, ama biz gerek yok sanmıyorum neyi çifte görev değişikliği hem x
ve y variables
(siz yapmış gibi).
Yvar <- c(8,9,10,13,12, 14,18,12,8,9, 1,3,2,3,4)
Xvar <- c(rep("A", 5), rep("B", 5), rep("C", 5))
mydf <- data.frame (Yvar, Xvar)
permt.samples <- list()
for(i in 1:10) {
t.yvar <- Yvar[ sample(length(Yvar), length(Yvar), replace=FALSE) ]
b.df <- data.frame (Xvar, t.yvar)
permt.samples[[i]] <- b.df
}
str(permt.samples)
permt.samples[1]
MONTE CARLO YÖNTEMLERİ
"Monte Carlo yöntemleri (veya Monte Carlo deneyleri), sayısal sonuçlar elde etmek için tekrarlanan rastgele örneklemeye dayanan geniş bir bilgisayarlı algoritma sınıfıdır ; tipik olarak bilinmeyen bir olasılıksal varlığın dağıtımını elde etmek için birçok kez simülasyonlar uygulanır. gerçek bir kumar casinoda oynama ve kayıt sonuçlarının eylemine tekniği benzerliQi. "bkz Wikipedia
"Uygulamalı istatistiklerde, Monte Carlo yöntemleri genellikle iki amaç için kullanılır:
(1) Küçük veri örnekleri için rekabetçi istatistikleri gerçekçi veri koşulları altında karşılaştırmak. Her ne kadar Tip I hata ve istatistiklerin güç özellikleri, asimptotik koşullar (yani, sonsuz örneklem büyüklüğü ve sonsuz küçük tedavi etkisi) için klasik teorik dağılımlardan (örneğin, normal eğri, Cauchy dağılımı) çizilen veriler için hesaplanabilse de, gerçek veriler sıklıkla böyle bir dağıtıma sahip değil.
(2) Asimptotik dağılımlar için kritik değerlerden daha doğru iken permütasyon testleri (genellikle hesaplanması imkansız) gibi kesin testlerden daha etkili olan hipotez testlerinin uygulanmasını sağlamak.
Monte Carlo yöntemleri de yaklaşık rasgeleleştirme ve permütasyon testleri arasında bir uzlaşmadır . Yaklaşık rastgele bir randomizasyon testi , tüm permütasyonların belirli bir alt setine dayanır (ki bu, permütasyonların göz önüne alındığı potansiyel olarak muazzam temizlik gerektirir). Monte Carlo yaklaşımı, belirli sayıda rastgele çizilmiş permütasyona dayanmaktadır ( bir permütasyonun iki kez veya daha sık çekilmesi durumunda hassas bir şekilde küçük bir zararın değiş tokuş edilmesi), hangi izinlerin önceden seçilmiş olduğunu izlememenin etkinliği için . "
Hem MC hem de Permütasyon testi bazen kolektif olarak randomizasyon testleri olarak adlandırılır . Aradaki fark MC'de, permütasyon örneklerini örneklemekteyiz, bkz . Olası tüm kombinasyonları kullanarak .
ÇAPRAZ DOĞRULAMA
Çapraz doğrulamanın ötesinde fikir, modellerin modele uymayan verilerle test edilmesi gerektiğidir. Çapraz doğrulama belki de en çok tahmin bağlamında kullanılır .
"Çapraz doğrulama, öngörücü bir modeli doğrulamak için istatistiksel bir yöntemdir. Verilerin alt kümeleri, doğrulama kümesi olarak kullanılmak üzere düzenlenir ; bir model, kalan verilere (bir eğitim kümesi) uygundur ve doğrulama kümesini öngörmek için kullanılır. validasyon kümelerindeki tahminlerin kalitesi, tahmin doğruluğunun genel bir ölçüsünü verir.
Bir çapraz onaylama biçimi bir seferde tek bir gözlem bırakır; bu, çakıya benzer. Başka bir, K-kat çapraz onaylama, verileri K altkümelerine ayırır; Her doğrulama set olarak sırayla dışarı tutulur." bkz Wikipedia . Çapraz doğrulama genellikle nicel verilerle yapılır. Bu modeli doğrusal bir modele uyan ve test etmek Bir şekilde nicel sizin nitel (faktör verileri) dönüştürebilir. Aşağıdaki basit Verilerin% 50'sinin model tahmini için kullanılmasına izin verirken dinlenme stratejisi, geri kalan test için kullanılırsa Xvar
da, nicel değişken olduğunu varsayalım .
Yvar <- c(8,9,10,13,12, 14,18,12,8,9, 1,3,2,3,4)
Xvar <- c(rep(1, 5), rep(2, 5), rep(3, 5))
mydf <- data.frame (Yvar, Xvar)
training.id <- sample(1:nrow(mydf), round(nrow(mydf)/2,0), replace = FALSE)
test.id <- setdiff(1:nrow(mydf), training.id)
# training dataset
mydf.train <- mydf[training.id]
#testing dataset
mydf.test <- mydf[test.id]
Önyükleme ve permütasyon testlerinin aksine, eğitim ve test için çapraz doğrulama veri seti farklıdır. Aşağıdaki şekilde, farklı yöntemlerde yeniden örnekleme özeti gösterilmektedir.
Umarım bu biraz yardımcı olur.