1.1 t Rikon * --- Signif. codes: 0 *** ** 0.01 *

Σχετικά έγγραφα

ΠΟΛΛΑΠΛΗ ΠΑΛΙΝΔΡΟΜΗΣΗ: ΑΣΚΗΣΕΙΣ

Γραµµική Παλινδρόµηση

Wan Nor Arifin under the Creative Commons Attribution-ShareAlike 4.0 International License. 1 Introduction 1

Wan Nor Arifin under the Creative Commons Attribution-ShareAlike 4.0 International License. 1 Introduction 1

Λογιστική Παλινδρόµηση

Εφαρμοσμένη Στατιστική Δημήτριος Μπάγκαβος Τμήμα Μαθηματικών και Εφαρμοσμένων Μαθηματικών Πανεπισ τήμιο Κρήτης 28 Μαρτίου /36

5.1 logistic regresssion Chris Parrish July 3, 2016

Funktionsdauer von Batterien in Abhängigkeit des verwendeten Materials und der Umgebungstemperatur

519.22(07.07) 78 : ( ) /.. ; c (07.07) , , 2008

Γραμμική. Παλινδρόμηση. με την R

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R

1. Εισαγωγή...σελ Δεδομένα της εργασίας...σελ Μεθοδολογία...σελ Ανάλυση των δεδομένων.σελ Συγκριτικά αποτελέσματα..σελ.

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R

Ανάλυση της ιακύµανσης

(i) Περιγραφική ανάλυση των μεταβλητών PRICE

Table 1: Military Service: Models. Model 1 Model 2 Model 3 Model 4 Model 5 Model 6 Model 7 Model 8 Model 9 num unemployed mili mili num unemployed

Biostatistics for Health Sciences Review Sheet

Εφαρμοσμένη Στατιστική Δημήτριος Μπάγκαβος Τμήμα Μαθηματικών και Εφαρμοσμένων Μαθηματικών Πανεπισ τήμιο Κρήτης 30 Μαρτίου /32


DirichletReg: Dirichlet Regression for Compositional Data in R

Μενύχτα, Πιπερίγκου, Σαββάτης. ΒΙΟΣΤΑΤΙΣΤΙΚΗ Εργαστήριο 6 ο

Generalized additive models in R

SECTION II: PROBABILITY MODELS

Εκτίµηση Μη-Γραµµικών Μοντέλων

FORMULAS FOR STATISTICS 1

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

Queensland University of Technology Transport Data Analysis and Modeling Methodologies

Επιχειρηματικές Προβλέψεις: Μέθοδοι & Τεχνικές Γραμμική Παλινδρόμηση Διάλεξη 10

Modern Regression HW #8 Solutions

Εργασία. στα. Γενικευμένα Γραμμικά Μοντέλα

3 Regressionsmodelle für Zähldaten

Μάθηµα εύτερο-τρίτο- Βασικά Ζητήµατα στο Απλό Γραµµικό Υπόδειγµα Ακαδηµαϊκό Έτος

Lampiran 1 Output SPSS MODEL I

waffle Chris Parrish June 18, 2016

Γενικευµένα Γραµµικά Μοντέλα

ΕΡΓΑΙΑ Εθηίκεζε αμίαο κεηαπώιεζεο ζπηηηώλ κε αλάιπζε δεδνκέλωλ. Παιεάο Δπζηξάηηνο

Interpretation of linear, logistic and Poisson regression models with transformed variables and its implementation in the R package tlm

Επιστηµονική Επιµέλεια ρ. Γεώργιος Μενεξές. Εργαστήριο Γεωργίας. Viola adorata

TABLES AND FORMULAS FOR MOORE Basic Practice of Statistics

ΑΝΑΛΥΣΗ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΩΝ ΚΑΤΑΣΤΑΣΕΩΝ

Άσκηση 2. i β. 1 ου έτους (Υ i )

ΜΑΘΗΜΑ 3ο. Υποδείγματα μιας εξίσωσης

ΑΝΑΛΥΣΗ Ε ΟΜΕΝΩΝ. 7. Παλινδρόµηση

R 28 February 2014

Modeling heteroskedasticity: GARCH modeling Hedibert Freitas Lopes 5/28/2018

Προβλέψεις ισοτιμιών στο EViews

Нелинеарни регресиони модели и линеаризациjа

ΟΙΚΟΝΟΜΕΤΡΙΑ. Βιολέττα Δάλλα. Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών

ΧΡΟΝΟΣΕΙΡΕΣ & ΠΡΟΒΛΕΨΕΙΣ-ΜΕΡΟΣ 7 ΕΛΕΓΧΟΙ. (TEST: Unit Root-Cointegration )

Άσκηση 11. Δίνονται οι παρακάτω παρατηρήσεις:

PENGARUHKEPEMIMPINANINSTRUKSIONAL KEPALASEKOLAHDAN MOTIVASI BERPRESTASI GURU TERHADAP KINERJA MENGAJAR GURU SD NEGERI DI KOTA SUKABUMI

Statistics 104: Quantitative Methods for Economics Formula and Theorem Review

Deming regression. MethComp package May

Λυμένες Ασκήσεις για το μάθημα:

+ ε βελτιώνει ουσιαστικά το προηγούμενο (β 3 = 0;) 2. Εξετάστε ποιο από τα παρακάτω τρία μοντέλα:

Άσκηση 1. Πληθυσμός (Χ i1 )

Λογαριθμικά Γραμμικά Μοντέλα Poisson Παλινδρόμηση Παράδειγμα στο SPSS

Ανάλυςη Συνδιακφμανςησ (Analysis of covariance) Κατςιλζροσ Αναςτάςιοσ

Μενύχτα, Πιπερίγκου, Σαββάτης. ΒΙΟΣΤΑΤΙΣΤΙΚΗ Εργαστήριο 5 ο

Szabolcs Sofalvi, M.S., D-ABFT-FT Cleveland, Ohio

η πιθανότητα επιτυχίας. Επομένως, η συνάρτηση πιθανοφάνειας είναι ίση με: ( ) 32 = p 18 1 p

ΗΛΙΑΣΚΟΣ ΦΡΟΝΤΙΣΤΗΡΙΑ. Τεχνολογικής Κατεύθυνσης Προγραμματισμός Γ Λυκείου Μέρος 2 ο ΥΠΗΡΕΣΙΕΣ ΠΑΙΔΕΙΑΣ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ ΣΤΕΦΑΝΟΣ ΗΛΙΑΣΚΟΣ

Optimizing Microwave-assisted Extraction Process for Paprika Red Pigments Using Response Surface Methodology

Last Lecture. Biostatistics Statistical Inference Lecture 19 Likelihood Ratio Test. Example of Hypothesis Testing.

/

Το στατιστικό κριτήριο που μας επιτρέπει να. μιας ή πολλών άλλων γνωστών μεταβλητών. Η σχέση ανάμεσα στις μεταβλητές που μελετώνται

ΠΕΡΙΓΡΑΦΙΚΗ και ΕΠΑΓΩΓΙΚΗ ΣΤΑΤΙΣΤΙΚΗ

LAMPIRAN. Lampiran I Daftar sampel Perusahaan No. Kode Nama Perusahaan. 1. AGRO PT Bank Rakyat Indonesia AgroniagaTbk.

Ερωτήσεις κατανόησης στην Οικονομετρία (Με έντονα μαύρα γράμματα είναι οι σωστές απαντήσεις)

ΟΙΚΟΝΟΜΕΤΡΙΑ. Παπάνα Αγγελική

ΤΣΑΛΤΑ ΜΑΡΙΑ Α.Μ: 1946 ΠΑΥΛΕΛΛΗ ΛΟΥΙΖΑ Α.Μ: 2342 ΤΣΑΪΛΑΚΗ ΦΑΝΗ Α.Μ: Οικονομετρικά. Εργαστήριο 15/05/11

Lampiran 1 Hasil Kuesioner NO CI1 CI2 CI3 CT1 CT2 CT3 CS1 CS2 CS3 CL1 CL2 CL

ΑΝΑΛΥΣΗ ΔΕΔΟΜΕΝΩΝ. Δρ. Βασίλης Π. Αγγελίδης Τμήμα Μηχανικών Παραγωγής & Διοίκησης Δημοκρίτειο Πανεπιστήμιο Θράκης

8. ΑΠΛΗ ΓΡΑΜΜΙΚΗ ΠΑΛΙΝΔΡΟΜΗΣΗ Ι

ο),,),--,ο< $ι ιι!η ι ηι ι ιι ιι t (t-test): ι ι η ι ι. $ι ι η ι ι ι 2 x s ι ι η η ιη ι η η SE x

ΑΝΑΛΥΣΗ ΔΕΔΟΜΕΝΩΝ. Δρ. Βασίλης Π. Αγγελίδης Τμήμα Μηχανικών Παραγωγής & Διοίκησης Δημοκρίτειο Πανεπιστήμιο Θράκης

Καμπύλη Phillips (10.1, 11.5, 12.1, 12.5, 18.3, 18.8, 18.10)

Μαντζούνη, Πιπερίγκου, Χατζή. ΒΙΟΣΤΑΤΙΣΤΙΚΗ Εργαστήριο 5 ο

NI it (dalam jutaan rupiah)

t ts P ALEPlot t t P rt P ts r P ts t r P ts

1 (forward modeling) 2 (data-driven modeling) e- Quest EnergyPlus DeST 1.1. {X t } ARMA. S.Sp. Pappas [4]

Overview. Transition Semantics. Configurations and the transition relation. Executions and computation

Προϋποθέσεις : ! Και οι δύο µεταβλητές να κατανέµονται κανονικά και να έχουν επιλεγεί τυχαία.

! : ;, - "9 <5 =*<

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΣΤΑΤΙΣΤΙΚΗΣ ΚΑΙ ΑΣΦΑΛΙΣΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Εξετάσεις περιόδου στο μάθημα ΑΝΑΛΥΣΗ ΠΑΛΙΝΔΡΟΜΗΣΗΣ

MIDWEEK CYBET REGULAR COUPON

ΑΝΑΛΥΣΗ ΠΑΛΙΝΔΡΟΜΗΣΗΣ,

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΕΘΝΩΝ ΚΑΙ ΕΥΡΩΠΑΪΚΩΝ ΟΙΚΟΝΟΜΙΚΩΝ ΣΠΟΥ ΩΝ

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Επιστήμη του Διαδικτύου «Web Science»

Προσοµοίωση Εξέτασης στο µάθηµα του Γεωργικού Πειραµατισµού

1. Hasil Pengukuran Kadar TNF-α. DATA PENGAMATAN ABSORBANSI STANDAR TNF α PADA PANJANG GELOMBANG 450 nm

SMD Power Inductor. - SPRH127 Series. Marking. 1 Marking Outline: 1 Appearance and dimensions (mm)

Εισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα

Lampiran 2 Hasil Kuesioner No. BA1 BA2 BA3 BA4 PQ1 PQ2 PQ3 PQ4 PQ

Άσκηση 10, σελ Για τη μεταβλητή x (άτυπος όγκος) έχουμε: x censored_x 1 F 3 F 3 F 4 F 10 F 13 F 13 F 16 F 16 F 24 F 26 F 27 F 28 F

2. ΕΠΙΛΟΓΗ ΤΟΥ ΜΕΓΕΘΟΥΣ ΤΩΝ ΠΑΡΑΤΗΡΗΣΕΩΝ

ΤΜΗΜΑ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΥ ΣΧΕ ΙΑΣΜΟΥ & ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Supplementary figures

ΧΡΟΝΟΣΕΙΡΕΣ TUTORIAL 3 ΣΤΑΣΘΜΟΤΗΤΑ ΔΘΑΔΘΚΑΣΘΕΣ ΜΟΝΑΔΘΑΣ ΡΘΖΑΣ ΣΥΝΟΛΟΚΛΗΡΩΣΗ

Transcript:

Copyright (c) 004,005 Hidetoshi Shimodaira 1.. 1 1.1 t- 004-10-1 11:4:14 shimo Rikon 0.108355 0.04978.51 0.016136 * --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 0.03808 on 37 degrees of freedom Multiple R-Squared: 0.964,Adjusted R-squared: 0.9553 F-statistic: 110.1 on 9 and 37 DF, p-value: <.e-16 p = 9 t- p- 0.05 1. β3 Tomo p =0.33. β7 Ktan p =0.55 t- βi = 0 xi > dat <- read.table("dat000.txt") > dim(dat) [1] 47 10 > names(dat) [1] "Zouka" "Ninzu" "Kaku" "Tomo" "Tandoku" "X65Sai" "Kfufu" [8] "Ktan" "Konin" "Rikon" > fit <- lm(zouka~.,dat) > summary(fit) Call: lm(formula = Zouka ~., data = dat) Residuals: Min 1Q Median 3Q Max -0.07663-0.005-0.00137 0.01601 0.0639 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) -7.88675 1.333787-5.913 8.3e-07 *** Ninzu 1.691499 0.19037 8.808 1.30e-10 *** Kaku 0.0447 0.009567.553 0.01493 * Tomo 0.00694 0.00754 0.978 0.33441 Tandoku 0.0556 0.01759 4.359 9.99e-05 *** X65Sai -0.0099 0.009466 -.335 0.05103 * Kfufu 0.0510 0.017113.99 0.004913 ** Ktan -0.00955 0.015900-0.599 0.55805 Konin 0.107444 0.06969 3.984 0.000306 *** 1 7 x7 Ktan x3 Tomo lm() update() > fit1 <- update(fit,~.- Ktan) # x3 (beta3=0 ) > summary(fit1) Call: lm(formula = Zouka ~ Ninzu + Kaku + Tomo + Tandoku + X65Sai + Kfufu + Konin + Rikon, data = dat) Residuals: Min 1Q Median 3Q Max -0.07611-0.00354-0.00401 0.0539 0.0678 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) -7.305754 0.907817-8.048 9.87e-10 *** Ninzu 1.659653 0.18968 9.071 4.78e-11 *** Kaku 0.0018 0.00674 3.08 0.00713 ** Tomo 0.00654 0.00730 0.97 0.337131 Tandoku 0.049836 0.00866 6.09 5.0e-07 *** X65Sai -0.067 0.006435-4.076 0.0006 *** Kfufu 0.050457 0.01693.98 0.004984 ** Konin 0.10875 0.06656 4.079 0.0003 *** Rikon 0.100741 0.040708.475 0.01791 * --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 0.03776 on 38 degrees of freedom Multiple R-Squared: 0.9637,Adjusted R-squared: 0.956 F-statistic: 16 on 8 and 38 DF, p-value: <.e-16 > fit <- update(fit1,~.- Tomo) # x7 beta7=0 > summary(fit) Call: lm(formula = Zouka ~ Ninzu + Kaku + Tandoku + X65Sai + Kfufu + Konin + Rikon, data = dat) Residuals: Min 1Q Median 3Q Max -0.0744469-0.03745-0.000875 0.05404 0.0645647 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) -7.089839 0.879607-8.060 7.87e-10 *** Ninzu 1.67596 0.1807 9.05.53e-11 *** Kaku 0.0176 0.005716 3.083 0.003754 ** Tandoku 0.047635 0.007944 5.996 5.4e-07 *** X65Sai -0.0689 0.006401-4.19 0.000154 *** Kfufu 0.054838 0.016301 3.364 0.001733 ** Konin 0.114131 0.06051 4.381 8.6e-05 *** Rikon 0.091775 0.0396.316 0.05888 * --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 0.03773 on 39 degrees of freedom Multiple R-Squared: 0.968,Adjusted R-squared: 0.9561 F-statistic: 144.1 on 7 and 39 DF, p-value: <.e-16 1. p y = β0 + β1x1 + + βpxp + ɛ S {1,..., p S y = β0 + βixi + ɛ i S S βi = 0, i {1,..., p \ S S {1,..., p p = 5 S = {1, 3 {1,..., 5 y = β0 + β1x1 + βx + β3x3 + β4x4 + β5x5 + ɛ {1, 3 y = β0 + β1x1 + β3x3 + ɛ β = β4 = β5 = 0 S S subset selection S 1. S p p = 10 10 = 104 S S =. (stepwise ) S 3. =0, 1,..., p p S S S 1. (t- F - ). i {1,..., p 3 4

1.3 AIC AIC AIC=Akaike Information Criterion step() > dat <- read.table("dat000.txt") > fit <- lm(zouka~.,dat) > fitstep <- step(fit) Start: AIC= -98.44 Zouka ~ Ninzu + Kaku + Tomo + Tandoku + X65Sai + Kfufu + Ktan + Konin + Rikon Df Sum of Sq RSS AIC - Ktan 1 0.001 0.054-99.987 - Tomo 1 0.001 0.055-99.41 <none> 0.054-98.440 - X65Sai 1 0.008 0.06-93.98 - Rikon 1 0.009 0.063-9.989 - Kaku 1 0.009 0.063-9.814 - Kfufu 1 0.013 0.067-90.57 - Konin 1 0.03 0.077-83.663 - Tandoku 1 0.08 0.081-80.959 - Ninzu 1 0.113 0.166-47.31 Step: AIC= -99.99 Zouka ~ Ninzu + Kaku + Tomo + Tandoku + X65Sai + Kfufu + Konin + Rikon Df Sum of Sq RSS AIC - Tomo 1 0.001 0.056-300.83 <none> 0.054-99.987 - Rikon 1 0.009 0.063-94.964 - Kfufu 1 0.013 0.067-9.107 - Kaku 1 0.015 0.069-90.7 - X65Sai 1 0.04 0.078-84.943 - Konin 1 0.04 0.078-84.90 - Tandoku 1 0.05 0.106-70.44 - Ninzu 1 0.117 0.171-47.83 Step: AIC= -300.83 5 Zouka ~ Ninzu + Kaku + Tandoku + X65Sai + Kfufu + Konin + Rikon Df Sum of Sq RSS AIC <none> 0.056-300.83 - Rikon 1 0.008 0.063-96.774 - Kaku 1 0.014 0.069-9.58 - Kfufu 1 0.016 0.07-90.857 - X65Sai 1 0.05 0.081-85.353 - Konin 1 0.07 0.083-84.0 - Tandoku 1 0.051 0.107-7.17 - Ninzu 1 0.11 0.176-48.570 > extractaic(fit) [1] 10.0000-98.4404 > n <- 47; p <- 10 > n*log(sum(resid(fit)^)/n) + *p # stepaic() AIC [1] -98.4404 > extractaic(fitstep) [1] 8.0000-300.83 > extractaic(fitstep) - extractaic(fit) # AIC [1] -.000000 -.391807 > AIC(fit) [1] -163.060 > n*(1+log(*pi*sum(resid(fit)^)/n)) + *(p+1) # AIC() AIC [1] -163.060 > AIC(fitstep) [1] -165.45 > AIC(fitstep) - AIC(fit) # AIC [1] -.391807 x7 Ktan x3(tomo) t- θ dim θ l(θ) AIC = l(ˆθ) + dim θ AIC l(ˆθ) AIC AIC AIC 6 θ = (β0, β1,..., βp, σ), dim θ = p + 1 l(ˆθ) = n { 1 + log(πˆσ ) n ˆσ i=1 = e i n AIC = n { 1 + log(πˆσ ) + (p + 1) AIC AIC() step() extractaic() AIC extractaic() n log(ˆσ ) + p AIC n (1 + log π) AIC() extractaic() S AIC 1.4 AIC # run008.r # AIC func008a <- function(p) { # p m <- ^p # wh <- matrix(logical(m*p),m) for(i in 1:p) { k <- ^(i-1) wh[,i] <- c(rep(f,k),rep(t,k)) na <- apply(wh,1,function(v) paste((1:p)[v],collapse="")) # na <- paste("(",na,")",sep="") dimnames(wh) <- list(na,1:p) wh func008b <- function(x,y,wh) { # x= y= x <- as.matrix(x); y <- as.vector(y) x <- cbind(1,x) # = X ( 1 ) wh <- cbind(t,wh) # = (beta0 ) 7 xx <- t(x) %*% x # = X X xy <- t(x) %*% y # = X y m <- nrow(wh) # aics <- rep(0,m) # AIC names(aics) <- rownames(wh) # n <- nrow(x) # for(i in 1:m) { w <- wh[i,] # pw <- sum(w) - 1 # xxw <- xx[w,w,drop=f]; xyw <- xy[w,drop=f] # bew <- solve(xxw) %*% xyw # predw <- as.vector(x[,w] %*% bew) # residw <- y - predw # rssw <- sum(residw^) # RSS aicw <- n*(1+log(*pi*rssw/n)) + *(pw+) # AIC aics[i] <- aicw # aics > source("run008.r") > dat <- read.table("dat000.txt") > x <- dat[,-1]; y <- dat[,1] # y=zouka x= > wh <- func008a(p) # 51 > dim(wh) [1] 51 9 > wh[1:10,] # 1 3 4 5 6 7 8 9 () FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE (1) TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE () FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE (1) TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE (3) FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE (13) TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE (3) FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE (13) TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE (4) FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE (14) TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE > aics <- func008b(x,y,wh) # AIC > sort(aics)[1:10] # AIC (145689) (1345689) (1456789) (13456789) (14568) (134568) -165.450-164.6066-163.8606-163.060-161.3940-159.5837 8

(145678) (1456789) (146789) (1346789) -159.4135-159.3666-159.097-158.6019 > order(aics)[1:10] # [1] 444 448 508 51 188 19 5 506 49 496 > wh[order(aics)[1:10],] # 1 3 4 5 6 7 8 9 (145689) TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE (1345689) TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE (1456789) TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE (13456789) TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE (14568) TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE FALSE (134568) TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE FALSE (145678) TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE FALSE (1456789) TRUE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE (146789) TRUE TRUE FALSE TRUE FALSE TRUE TRUE TRUE TRUE (1346789) TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE x3(tomo) x7 Ktan t- 1.5 AIC p p AIC AIC library(leaps) regsubsets() > library(leaps) # > dat <- read.table("dat000.txt") > rg <- regsubsets(zouka~.,dat,nvmax=100) # nvmax > srg <- summary(rg) # > srg # =1,...,9 (Intercept) 1 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE 3 TRUE TRUE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE 4 TRUE TRUE TRUE FALSE TRUE FALSE FALSE FALSE TRUE FALSE 5 TRUE TRUE TRUE FALSE TRUE TRUE FALSE FALSE TRUE FALSE 6 TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE FALSE 7 TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE 8 TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE 9 TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE > srg$rss # RSS [1] 0.4450489 0.1754768 0.13754637 0.08168998 0.075871 0.06316087 0.055569 [8] 0.05417537 0.05365501 > n <- nrow(dat) > p <- nrow(srg) > aicrg <- *(n/)*(1+log(*pi*srg$rss/n)) + *( + (1:p)) # AIC > aicrg # =1,...,9 AIC [1] -81.8478-11.3695-130.8150-153.3034-156.856-161.3940-165.450 [8] -164.6066-163.060 > order(aicrg) # AIC [1] 7 8 9 6 5 4 3 1 > srg[7,] # AIC (Intercept) Ninzu Kaku Tomo Tandoku X65Sai TRUE TRUE TRUE FALSE TRUE TRUE Kfufu Ktan Konin Rikon TRUE FALSE TRUE TRUE > aicrg[7] # AIC [1] -165.45 1.6 AIC 1. (stepwise). 3. # run0083.r # AIC,, # x= y= func0083a <- function(x,y) { # dat <- data.frame(x,y) # 9 10 fit <- lm(y~.,dat) # na0 <- names(coef(fit)) # fitstep <- step(fit,trace=f) # na1 <- names(coef(fitstep)) # wh <- na0 %in% na1 # na0 na1 names(wh) <- na0 # wh <- wh[-1] # (Intercept) list(which=wh,aic=aic(fitstep)) source("run008.r") func0083b <- function(x,y) { # whs <- func008a(ncol(x)) # colnames(whs) <- colnames(x) # aics <- func008b(x,y,whs) # AIC i <- order(aics)[1] # list(which=whs[i,],aic=aics[i]) library(leaps) func0083c <- function(x,y) { # dat <- data.frame(x,y) # rg <- regsubsets(y~.,dat,nvmax=100) # nvmax srg <- summary(rg) # n <- nrow(x); p <- nrow(srg) # wh0 <- srg[1,]; wh0[-1] <- F # y~1 srg <- rbind(wh0,srg) # y~1 srg$rss <- c(sum((y-mean(y))^),srg$rss) # y~1 aicrg <- *(n/)*(1+log(*pi*srg$rss/n)) + *( + (0:p)) # AIC i <- order(aicrg)[1] # list(which=srg[i,-1],aic=aicrg[i]) func0083 <- function(x,y,iss=1:3) { # nas <- c(" "," "," ")[iss]; funcs <- c(func0083a,func0083b,func0083c)[iss]; ans <- list(); # showpat <- function(v) # paste(sapply(v,function(x) if(x) "+" else "-"),collapse="") showline <- function(ra=null) # if(is.null(ra)) # cat(sprintf("# %8s %8s %16s %8s\n"," "," "," ","AIC")) else # cat(sprintf("# %8s %8g %16s %8g\n", ra$name,ra$time,showpat(ra),round(ra,))) 11 showline(); # for(i in 1:length(funcs)) { # ti <- system.time(ans[[i]] <- funcs[[i]](x,y)); # ans[[i]]$name <- nas[i]; ans[[i]]$time <- ti[1]; showline(ans[[i]]); # which <- t(sapply(ans,function(a) a)) # aic <- sapply(ans,function(a) a) # AIC time <- sapply(ans,function(a) a$time) # rownames(which) <- names(aic) <- names(time) <- nas list(which=which,aic=aic,time=time) > source("run0083.r") > dat <- read.table("dat000.txt") > x <- dat[,-1]; y <- dat[,1] > func0083a(x,y) TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE [1] -165.45 > func0083b(x,y) TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE (145689) -165.45 > func0083c(x,y) TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE [1] -165.45 > func0083(x,y) 1

# 0.09 ++-+++-++ -165.45 # 0.47 ++-+++-++ -165.45 # 0.01 ++-+++-++ -165.45 TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE -165.45-165.45-165.45 $time 0.09 0.47 0.01 1.7 AIC X000 p =,..., 13 p = 14,..., 7 # run0084.r # AIC source("run0083.r") # source("run0066.r") # X000 cat("## X000 \n") code <- c("a0501","a0610","a060","f01503","a0605", "A06301","A0630","A06304","A06601","A0660") name <- c("zouka","ninzu","kaku","tomo","tandoku", "65Sai","Kfufu","Ktan","Konin","Rikon") code3 <- c(paste("a0410",3:8,sep=""),"a04307","a04405","a04406") name3 <- c(paste("mik",seq(0,45,by=5),sep=""),"shb60","rik40","rik50") code3 <- c(paste(code3,"01",sep=""),paste(code3,"0",sep="")) name3 <- c(paste(name3,"m",sep=""),paste(name3,"f",sep="")) dat <- mygetdat(c(code,code3),c(name,name3)) x <- dat[,-1]; y <- dat[,1] 13 cat("## (-13)\n") for(p in :13) { cat("## =",p,"\n") a <- func0083(x[,1:p],y) cat("## (14-7)\n") for(p in 14:7) { cat("## =",p,"\n") a <- func0083(x[,1:p],y,c(1,3)) > source("run0084.r") ### X000 # = 47 * 8 # Zouka Ninzu Kaku Tomo Tandoku 65Sai Kfufu Ktan Konin Rikon Mik0M Hokkaido 0.04.4 60.54 6.54 9.95 30.50 9.90 7.39 5.77.40 91. Aomori -0.0.86 54.0 34.38 4.08 38.99 7.45 6.61 5.4 1.96 90.0 Iwate -0.07.9 50.87 38.8 4.47 4.4 7.87 6.05 5.14 1.48 88.7 Mik5M Mik30M Mik35M Mik40M Mik45M Shb60M Rik40M Rik50M Mik0F Mik5F Hokkaido 64.8 39.0 3. 16.3 1. 9.0 4.7 5.5 85.7 5.6 Aomori 64.0 40.3 6.0 19.5 14.7 8.9 4.7 5.8 83.3 48.9 Iwate 63.7 4.1 9.3.4 16.8 9.5 3.9 4.6 8. 48. Mik30F Mik35F Mik40F Mik45F Shb60F Rik40F Rik50F Hokkaido 8.3 16.5 11.0 7.8 38.4 8.7 8.4 Aomori 4. 1.5 8.0 5.6 4.9 8.3 7.9 Iwate 4. 1.6 7.7 5.6 41.5 6.5 6.1 # code Imi Tani Zouka A0501 ( ) Ninzu A0610 ( :person) Kaku A060 ( ) Tomo F01503 ( ) Tandoku A0605 ( ) 65Sai A06301 65 ( ) Kfufu A0630 ( ) Ktan A06304 ( ) Konin A06601 Rikon A0660 Mik0M A0410301 0 4 ( ) Mik5M A0410401 5 9 ( ) 14 Mik30M A0410501 30 34 ( ) Mik35M A0410601 35 39 ( ) Mik40M A0410701 40 44 ( ) Mik45M A0410801 45 49 ( ) Shb60M A0430701 60 ( ) Rik40M A0440501 40 49 ( ) Rik50M A0440601 50 59 ( ) Mik0F A041030 0 4 ( ) Mik5F A041040 5 9 ( ) Mik30F A041050 30 34 ( ) Mik35F A041060 35 39 ( ) Mik40F A041070 40 44 ( ) Mik45F A041080 45 49 ( ) Shb60F A043070 60 ( ) Rik40F A044050 40 49 ( ) Rik50F A044060 50 59 ( ) ## (-13) ## = # 0.0 ++ -38.7 # 0.01 ++ -38.7 # 0.01 ++ -38.7 ## = 3 # 0.0 +++ -51.07 # 0 +++ -51.07 # 0.01 +++ -51.07 ## = 4 # 0.04 ++-+ -108.61 # 0.01 ++-+ -108.61 # 0.01 ++-+ -108.61 ## = 5 # 0.0 +++++ -144.05 # 0.03 +++++ -144.05 # 0.01 +++++ -144.05 ## = 6 # 0.05 ++-+++ -145.67 # 0.06 ++-+++ -145.67 # 0.01 ++-+++ -145.67 15 ## = 7 # 0.08 ++-+++- -145.67 # 0.1 ++-+++- -145.67 # 0.0 ++-+++- -145.67 ## = 8 # 0.08 ++-+++-+ -161.39 # 0.3 ++-+++-+ -161.39 # 0.0 ++-+++-+ -161.39 ## = 9 # 0.08 ++-+++-++ -165.45 # 0.47 ++-+++-++ -165.45 # 0.01 ++-+++-++ -165.45 ## = 10 # 0.13 ++-+++-+-+ -167.35 # 0.94 ++-+++-+-+ -167.35 # 0.01 ++-+++-+-+ -167.35 ## = 11 # 0.1 ++-+-++++++ -17.49 # 1.9 ++-+--++-++ -173.56 # 0.01 ++-+--++-++ -173.56 ## = 1 # 0.14 +++++-+++--+ -176.99 # 3.91 +++++-+++--+ -176.99 # 0.0 +++++-+++--+ -176.99 ## = 13 # 0.1 ++-+--+++--++ -178.86 # 7.79 ++-+--+++--++ -178.86 # 0.0 ++-+--+++--++ -178.86 ## (14-7) ## = 14 # 0.5 ++-+--+++--+-+ -178.45 # 0.0 ++-+--+++--++- -178.86 ## = 15 16

# 0.9 ++-+--+++--+-+- -178.45 # 0.0 ++-+--+++--++-- -178.86 ## = 16 # 0.4 +++++-+++--+--++ -187.17 # 0.03 +++++-+++--+--++ -187.17 ## = 17 # 0.36 ++-++-++---+---++ -193.41 # 0.0 ++-++-++---+---++ -193.41 ## = 18 # 0.36 ++-+-++++---++-+-+ -194.78 # 0.04 ++-+-+++---+---+-+ -196.8 ## = 19 # 0.41 ++-+-++++---++-+-+- -194.78 # 0.03 ++-+-+++---+---+-+- -196.8 ## = 0 # 0.39 ++-+-++++-+-+-++-+-+ -195.8 # 0.03 ++-+-+++---+---+-+-- -196.8 ## = 1 # 0.46 ++-+-++++-+-+-++-+-+- -195.8 # 0.05 ++-+-+++---+---+-+--- -196.8 ## = # 0.51 ++-+-++++-+-+-++-+-+-- -195.8 # 0.05 ++-+-+++---+---+-+---- -196.8 ## = 3 # 0.67 ++-+-++++---++-+-+---++ -195.9 # 0.07 ++-+-+++---+---+-+----- -196.8 ## = 4 # 0.63 ++-+-++++---++-+-+---++- -195.9 # 0.09 ++-+-+++---+---+-+------ -196.8 ## = 5 # 0.7 ++-+-++++---++-+-+---++-- -195.9 # 0.13 ++-+-+++---+---+-+------- -196.8 17 ## = 6 # 0.51 ++-+--+++++++--++++-++-+++ -01.9 # 0. ++-+--+++--++----+-+-++--+ -04.64 ## = 7 # 0.54 ++-++++++++++--+--+-++-++++ -0.6 # 0.37 ++-+--+++--++----+-+-++--+- -04.64 p step()) library(leaps) 1.8 AIC # run0086.r # AIC source("run0083.r") # cat("### \n") n <- 100; pm <- 40 # x <- matrix(runif(n*pm,-1,1),n) # x [-1,1] x <- x + runif(n,-0.5,0.5) # cat("# n=",n,", p=",pm,"\n") be <- c(rep(1,5),rep(0.,5),rep(0,pm-10)) # y <- x %*% be + 1*rnorm(n) # y cat("# beta\n") print(be) cat("# x \n") print(round(cor(x,x),3)[1:10,1:10]) cat("# x y \n") print(round(cor(y,x),3)) ans <- list() # for(p in c(:pm)) { cat("## =",p,"\n") ans[[as.character(p)]] <- func0083(x[,1:p],y,c(1,3)) kekka <- list(aic = sapply(ans,function(v) v), time = sapply(ans,function(v) v$time)) kekka$p <- as.numeric(dimnames(kekka$time)[[]]) cat("## \n") 18 print(kekka) matplot(kekka$p,t(kekka$time),log="y",type="b",xlab="p",ylab="time(sec)") legend(min(kekka$p),max(kekka$time)*0.9, c("1. step",". leaps"),lty=1:,col=1:,bty="n") dev.copyeps(file="run0086-t.eps") > source("run0086.r") ### # n= 100, p= 40 # beta [1] 1.0 1.0 1.0 1.0 1.0 0. 0. 0. 0. 0. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 [0] 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 [39] 0.0 0.0 # x [,1] [,] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 1.000 0.386 0.96 0.30 0.51 0.53 0.141 0.314 0.6 0.3 [,] 0.386 1.000 0.69 0.91 0.319 0.169 0.097 0.5 0.01 0.150 [3,] 0.96 0.69 1.000 0.315 0.60 0.81 0.37 0.87 0.65 0.186 [4,] 0.30 0.91 0.315 1.000 0.337 0.340 0.140 0.194 0.144 0.388 [5,] 0.51 0.319 0.60 0.337 1.000 0.194 0.05 0.16 0.198 0.415 [6,] 0.53 0.169 0.81 0.340 0.194 1.000 0.1 0.1 0.069 0.107 [7,] 0.141 0.097 0.37 0.140 0.05 0.1 1.000 0.135 0.147 0.110 [8,] 0.314 0.5 0.87 0.194 0.16 0.1 0.135 1.000 0.180 0.087 [9,] 0.6 0.01 0.65 0.144 0.198 0.069 0.147 0.180 1.000 0.43 [10,] 0.3 0.150 0.186 0.388 0.415 0.107 0.110 0.087 0.43 1.000 # x y [,1] [,] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,1] [1,] 0.61 0.575 0.641 0.608 0.6 0.46 0.36 0.40 0.308 0.465 0.494 0.398 [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,0] [,1] [,] [,3] [,4] [1,] 0.101 0.415 0.383 0.378 0.391 0.38 0.451 0.356 0.335 0.57 0.399 0.379 [,5] [,6] [,7] [,8] [,9] [,30] [,31] [,3] [,33] [,34] [,35] [,36] [1,] 0.43 0.346 0.418 0.8 0.4 0.364 0.477 0.4 0.333 0.4 0.4 0.84 [,37] [,38] [,39] [,40] [1,] 0.349 0.57 0.408 0.33 ## = # 0.0 ++ 403.5 # 0.01 ++ 403.5 ## = 3 # 0.0 +++ 359.63 # 0.0 +++ 359.63 19 ## = 4 # 0.11 ++++ 3.06 # 0.01 ++++ 3.06 ## = 5 # 0.03 +++++ 78.13 # 0.0 +++++ 78.13 ## = 6 # 0.03 ++++++ 69.11 # 0.01 ++++++ 69.11 ## = 7 # 0.06 ++++++- 69.11 # 0.0 ++++++- 69.11 ## = 8 # 0.06 ++++++-+ 67.31 # 0.0 ++++++-+ 67.31 ## = 9 # 0.07 ++++++-++ 67.09 # 0.0 ++++++-++ 67.09 ## = 10 # 0.1 ++++++-+-+ 60.68 # 0.0 ++++++-+-+ 60.68 ## = 11 # 0.14 ++++++-+-+- 60.68 # 0.0 ++++++-+-+- 60.68 ## = 1 # 0.18 ++++++-+-+-- 60.68 # 0.0 ++++++-+-+-- 60.68 ## = 13 # 0.31 ++++++-+-+--- 60.68 # 0.0 ++++++-+-+--- 60.68 ## = 14 0

# 0. ++++++-+++---+ 57.84 # 0.0 ++++++-+++---+ 57.84 ## = 15 # 0.5 ++++++-+++---+- 57.84 # 0.03 ++++++-+++---+- 57.84 ## = 16 # 0.31 ++++++-+++---+-- 57.84 # 0.0 ++++++-+++---+-- 57.84 ## = 17 # 0.34 ++++++-+++---+--+ 57.36 # 0.0 ++++++-+++---+--+ 57.36 ## = 18 # 0.4 ++++++-+++---+--+- 57.36 # 0.03 ++++++-+++---+--+- 57.36 ## = 19 # 0.47 ++++++-+++---+--+-- 57.36 # 0.0 ++++++-+++---+--+-- 57.36 ## = 0 # 0.54 ++++++-+++---+--+--- 57.36 # 0.03 ++++++-+++---+--+--- 57.36 ## = 1 # 0.68 ++++++-+++---+--+---- 57.36 # 0.03 ++++++-+++---+--+---- 57.36 ## = # 0.65 ++++++-+++---+--+----- 57.36 # 0.03 ++++++-+++---+--+----- 57.36 ## = 3 # 0.75 ++++++-+++---+--+------ 57.36 # 0.03 ++++++-+++---+--+------ 57.36 ## = 4 # 0.85 ++++++-+++---+--+------- 57.36 # 0.04 ++++++-+++---+--+------- 57.36 1 ## = 5 # 0.99 ++++++-+++---+----------+ 56.75 # 0.04 ++++++-+++---+----------+ 56.75 ## = 6 # 0.99 ++++++-+++---+----------+- 56.75 # 0.05 ++++++-+++---+----------+- 56.75 ## = 7 # 1.16 ++++++-+++---+----------+-+ 56.57 # 0.06 ++++++-+++---+----------+-+ 56.57 ## = 8 # 1.1 ++++++-+++---+----------+-+- 56.57 # 0.08 ++++++-+++---+----------+-+- 56.57 ## = 9 # 1.5 ++++++-+++---+----------+-+-- 56.57 # 0.13 ++++++-+++---+----------+-+-- 56.57 ## = 30 # 1.4 ++++++-+++---+----------+-+--- 56.57 # 0.15 ++++++-+++---+----------+-+--- 56.57 ## = 31 # 1.54 ++++++-+++---+----------+-+---- 56.57 # 0.3 ++++++-+++---+----------+-+---- 56.57 ## = 3 # 1.53 ++++++-+++---+----------+-+----- 56.57 # 0.7 ++++++-+++---+----------+-+----- 56.57 ## = 33 # 1.75 ++++++-+++---+----------+-+------ 56.57 # 0.4 ++++++-+++---+----------+-+------ 56.57 ## = 34 # 1.88 ++++++-+++---+----------+-+------- 56.57 # 0.88 ++++++-+++---+----------+-+------- 56.57 ## = 35 # 1.9 ++++++-+++---+----------+-+-------- 56.57 # 1.45 ++++++-+++---+----------+-+-------- 56.57 ## = 36 #.1 ++++++-+++---+--------------------++ 58.15 #.77 ++++++-+++---+----------+-+--------- 56.57 ## = 37 #.6 ++++++-+++---+--------------------++- 58.15 # 5 ++++++-+++---+----------+-+---------- 56.57 ## = 38 #.6 ++++++-+++---+----------+-+----+--+--+ 55.84 # 6.84 ++++++-+++---+----------+-+----+--+--+ 55.84 ## = 39 #.4 ++++++-+++---+--+---------++---------++ 54.56 # 15.77 ++++++-+++---+--+--------------------++ 54.4 ## = 40 #.55 ++++++-+++---+--+---------++---------++- 54.56 # 18.65 ++++++-+++---+--+--------------------++- 54.4 ## 3 4 5 6 7 8 403.4956 359.654 3.0608 78.166 69.1076 69.1076 67.3104 403.4956 359.654 3.0608 78.166 69.1076 69.1076 67.3104 9 10 11 1 13 14 15 67.0883 60.680 60.680 60.680 60.680 57.8380 57.8380 67.0883 60.680 60.680 60.680 60.680 57.8380 57.8380 16 17 18 19 0 1 57.8380 57.3616 57.3616 57.3616 57.3616 57.3616 57.3616 57.8380 57.3616 57.3616 57.3616 57.3616 57.3616 57.3616 3 4 5 6 7 8 9 57.3616 57.3616 56.7461 56.7461 56.574 56.574 56.574 57.3616 57.3616 56.7461 56.7461 56.574 56.574 56.574 30 31 3 33 34 35 36 56.574 56.574 56.574 56.574 56.574 56.574 58.1535 56.574 56.574 56.574 56.574 56.574 56.574 56.574 37 38 39 40 58.1535 55.8431 54.5649 54.5649 56.574 55.8431 54.418 54.418 3 $time 3 4 5 6 7 8 9 10 11 1 13 14 15 0.0 0.0 0.11 0.03 0.03 0.06 0.06 0.07 0.10 0.14 0.18 0.31 0.0 0.5 0.01 0.0 0.01 0.0 0.01 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.03 16 17 18 19 0 1 3 4 5 6 7 8 9 0.31 0.34 0.40 0.47 0.54 0.68 0.65 0.75 0.85 0.99 0.99 1.16 1.1 1.5 0.0 0.0 0.03 0.0 0.03 0.03 0.03 0.03 0.04 0.04 0.05 0.06 0.08 0.13 30 31 3 33 34 35 36 37 38 39 40 1.40 1.54 1.53 1.75 1.88 1.9.1.6.6.4.55 0.15 0.3 0.7 0.40 0.88 1.45.77 5.00 6.84 15.77 18.65 $p [1] 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 [6] 7 8 9 30 31 3 33 34 35 36 37 38 39 40 time(sec) 0.01 0.05 0.50 5.00 1 1 1 1 1 1. step. leaps 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 30 40 p run0086-t step() library(leaps) 1.9 4

# run0085.r # AIC source("run0083.r") # b func0085a <- function(x,y,b,func=func0083c,...) { ans <- list(); n <- nrow(x) for(j in 1:b) { i <- sample(1:n,replace=t) # ans[[j]] <- func(x[i,],y[i],...) # func ans # func0085b <- function(ans) { whs <- t(sapply(ans,function(v) v)) # "which" b pattern <- whpa(whs) # b tab <- rev(sort(table(pattern))) # tab # AIC func0085c <- function(x,y,tab,aic.dif=t,wh0=null,func=func0083c) { calcaic <- function(wh,x,y) AIC(lm(y~.,data.frame(x[,wh],y))) whs <- pawh(names(tab),colnames(x)) # "which" aic <- apply(whs,1,calcaic,x,y) # AIC if(aic.dif&&is.null(wh0)) wh0 <- func(x,y) # AIC if(!is.null(wh0)) aic <- aic - calcaic(wh0,x,y) # wh0 list(pattern=names(tab),frequency=as.numeric(tab), which=whs,aic=aic) # func0085d <- function(a) { cat("# \n") print(apply(a * a$frequency,,sum)) cat("# AIC \n") out <- data.frame(a$pattern,a$frequency,a) names(out) <- c(" "," ","AIC") print(out) 5 # "which"( ) ( ) whpa <- function(whs) { whpa1 <- function(wh) # "which" paste(sapply(wh,function(x) if(x) "+" else "-"),collapse="") if(is.matrix(whs)) apply(whs,1,whpa1) # "which" else whpa1(whs) # ( ) "which"( ) pawh <- function(pa,col.names=null) { pawh1 <- function(ch) { # p <- length(ch); wh <- logical(p) for(i in 1:p) wh[i] <- ch[i] == "+" wh chs <- strsplit(pa,"") # whs <- t(sapply(chs,pawh1)) # "which" dimnames(whs)[[]] <- col.names whs > source("run0085.r") > dat <- read.table("dat000.txt") > x <- dat[,-1]; y <- dat[,1] > system.time(ans <- func0085a(x,y,1000)) [1] 15.93 0.06 15.97 0.00 0.00 > length(ans) [1] 1000 > ans[[1]] TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE [1] -184.3093 > ans[[]] TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE 6 [1] -18.6504 > tab <- func0085b(ans) > length(tab) [1] 47 > tab[1] ++-+++-++ 7 > tab[] ++++++-++ 164 > a <- func0085c(x,y,tab) > a $pattern [1] "++-+++-++" "++++++-++" "++-+++-+-" "++-+-++++" "++-++++++" "++++++-+-" [7] "+++++++++" "+--+++-++" "+--+++-+-" "+--+++++-" "+-++++-++" "++++-++++" [13] "++-+++++-" "+--++++++" "+++++--++" "++++++++-" "+-++++-+-" "+-+++++++" [19] "+++++-+++" "+-++++++-" "++-++--+-" "++++--+++" "++-+--++-" "++++---+-" [5] "++--++++-" "++-+---+-" "++-+---++" "+---++++-" "+-+-++++-" "++--++-++" [31] "++-+-+++-" "++++--++-" "+++++--+-" "+++++-++-" "++++++--+" "+---+-++-" [37] "+-+-+-+++" "+-+++++-+" "++--+++++" "++-+--+++" "++-+++--+" "++-++++-+" [43] "+++-++++-" "+++-+++++" "++++-+-+-" "++++-+-++" "+++++++-+" $frequency [1] 7 164 15 66 59 49 46 4 31 6 15 15 13 1 1 1 10 9 7 [0] 5 5 5 4 4 3 3 3 1 1 1 [39] 1 1 1 1 1 1 1 1 1 [1,] TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE [,] TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE [3,] TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE FALSE [4,] TRUE TRUE FALSE TRUE FALSE TRUE TRUE TRUE TRUE [5,] TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE [6,] TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE FALSE [7,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE [8,] TRUE FALSE FALSE TRUE TRUE TRUE FALSE TRUE TRUE [9,] TRUE FALSE FALSE TRUE TRUE TRUE FALSE TRUE FALSE [10,] TRUE FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE [11,] TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE TRUE [1,] TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE 7 [13,] TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE FALSE [14,] TRUE FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE [15,] TRUE TRUE TRUE TRUE TRUE FALSE FALSE TRUE TRUE [16,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE [17,] TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE FALSE [18,] TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE [19,] TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE [0,] TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE FALSE [1,] TRUE TRUE FALSE TRUE TRUE FALSE FALSE TRUE FALSE [,] TRUE TRUE TRUE TRUE FALSE FALSE TRUE TRUE TRUE [3,] TRUE TRUE FALSE TRUE FALSE FALSE TRUE TRUE FALSE [4,] TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE FALSE [5,] TRUE TRUE FALSE FALSE TRUE TRUE TRUE TRUE FALSE [6,] TRUE TRUE FALSE TRUE FALSE FALSE FALSE TRUE FALSE [7,] TRUE TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE [8,] TRUE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE [9,] TRUE FALSE TRUE FALSE TRUE TRUE TRUE TRUE FALSE [30,] TRUE TRUE FALSE FALSE TRUE TRUE FALSE TRUE TRUE [31,] TRUE TRUE FALSE TRUE FALSE TRUE TRUE TRUE FALSE [3,] TRUE TRUE TRUE TRUE FALSE FALSE TRUE TRUE FALSE [33,] TRUE TRUE TRUE TRUE TRUE FALSE FALSE TRUE FALSE [34,] TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE FALSE [35,] TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE TRUE [36,] TRUE FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE [37,] TRUE FALSE TRUE FALSE TRUE FALSE TRUE TRUE TRUE [38,] TRUE FALSE TRUE TRUE TRUE TRUE TRUE FALSE TRUE [39,] TRUE TRUE FALSE FALSE TRUE TRUE TRUE TRUE TRUE [40,] TRUE TRUE FALSE TRUE FALSE FALSE TRUE TRUE TRUE [41,] TRUE TRUE FALSE TRUE TRUE TRUE FALSE FALSE TRUE [4,] TRUE TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE [43,] TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE FALSE [44,] TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE [45,] TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE FALSE [46,] TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE TRUE [47,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE [1] 0.0000000 0.845463 4.0579833 6.359955 1.5913845 5.86880 [7].3918069 8.500678 4.453558 10.901160 10.1098997 6.8501058 [13] 6.038503 6.085367 8.750363 7.847703 1.945610 8.018498 [19] 10.5755090 1.7599506 8.5958008 9.38617 9.58708 13.659519 [5] 18.9339744 1.1485618 13.6408833 19.9050885 1.795036 8.7048540 8

[31] 9.4447417 10.4378 8.7511848 10.7488674 15.91485 19.1158503 [37].1981696 1.4046686 17.8858319 10.4506458 16.8101154 18.1330104 [43] 0.8758806 19.8735371 14.7566814 15.8891300 17.169363 > func0085d(a) # 1000 843 370 986 893 948 301 994 695 # AIC AIC 1 ++-+++-++ 7 0.0000000 ++++++-++ 164 0.845463 3 ++-+++-+- 15 4.0579833 4 ++-+-++++ 66 6.359955 5 ++-++++++ 59 1.5913845 6 ++++++-+- 49 5.86880 7 +++++++++ 46.3918069 8 +--+++-++ 4 8.500678 9 +--+++-+- 31 4.453558 10 +--+++++- 6 10.901160 11 +-++++-++ 15 10.1098997 1 ++++-++++ 15 6.8501058 13 ++-+++++- 13 6.038503 14 +--++++++ 1 6.085367 15 +++++--++ 1 8.750363 16 ++++++++- 1 7.847703 17 +-++++-+- 10 1.945610 18 +-+++++++ 9 8.018498 19 +++++-+++ 7 10.5755090 0 +-++++++- 5 1.7599506 1 ++-++--+- 5 8.5958008 ++++--+++ 5 9.38617 3 ++-+--++- 4 9.58708 4 ++++---+- 4 13.659519 5 ++--++++- 3 18.9339744 6 ++-+---+- 3 1.1485618 7 ++-+---++ 3 13.6408833 8 +---++++- 19.9050885 9 +-+-++++- 1.795036 30 ++--++-++ 8.7048540 31 ++-+-+++- 9.4447417 3 ++++--++- 10.4378 9 33 +++++--+- 8.7511848 34 +++++-++- 10.7488674 35 ++++++--+ 15.91485 36 +---+-++- 1 19.1158503 37 +-+-+-+++ 1.1981696 38 +-+++++-+ 1 1.4046686 39 ++--+++++ 1 17.8858319 40 ++-+--+++ 1 10.4506458 41 ++-+++--+ 1 16.8101154 4 ++-++++-+ 1 18.1330104 43 +++-++++- 1 0.8758806 44 +++-+++++ 1 19.8735371 45 ++++-+-+- 1 14.7566814 46 ++++-+-++ 1 15.8891300 47 +++++++-+ 1 17.169363 10 Tomo Ktan 37% 30% AIC AIC AIC AIC 3% % 4.9% 10.1 8-1 X000 japan.pref t- ( 5%) AIC AIC t p- AIC 30. 8- x, y, pm p=1,,...,pm p ˆβ0,..., ˆβp ˆβp t- p- p 1 p RSS F - p- p- AIC.3 8-3 8-1 31