Grstats Forum

η εντολή sample στην R

Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Πήγαινε κάτω

η εντολή sample στην R

Δημοσίευση από sansindy2 Την / Το Τρι 3 Ιουν 2014 - 16:03

Καλησπέρα!Θέλω την βοήθεια σας στο παρακάτω πρόβλημα!
Έχω 100 κάρτες αριθμημένες από το 1 έως το 100 .Τις ανακατεύω και έπειτα τις ανοίγω και θεωρώ επιτυχία όταν η i-κάρτα βρίσκεται στην i-θέση.Θέλω με προσομοίωση στην R να εκτιμήσω την μέση τιμή και την διασπορά του πλήθους των επιτυχιών.Χρησιμοποιώντας την εντολή sample παράγω πολλά δείγματα τυχαίων αριθμών.Το ερώτημα είναι πως μπορώ να καταλάβω τι κατανομή ακολουθούν τα δεδομένα μου έτσι ώστε μετά να κάνω 'ένα χ^2 test καλής προσαρμογής?

sansindy2

Posts : 7
Join date : 03/06/2014

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: η εντολή sample στην R

Δημοσίευση από barney84 Την / Το Τρι 3 Ιουν 2014 - 18:15

Αν δεν κάνω λάθος βρίσκεται η κατανομή του αριθμού των επιτυχιών.

Θεωρώντας Α το ενδεχόμενο στην i θέση να έχεις τον αριθμό i τότε
p=P(A)=1/100,   q=1-P(A)=99/100.

Άρα,ο αριθμός επιτυχιών θεωρώντας σαν επιτυχία όταν η i-κάρτα βρίσκεται στην i-θέση ακολουθεί Δυωνυμική (n=100,p=P(A)).

Αν δεν είναι λάθος αυτό που λέω, θα πρέπει με την προσομοίωση να βρίσκεις μ.τ. np και διασπορά npq.
avatar
barney84

Posts : 18
Join date : 25/01/2014

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: η εντολή sample στην R

Δημοσίευση από sansindy2 Την / Το Τρι 3 Ιουν 2014 - 20:32

Ναι θεωρητικά έτσι όπως τα λες είναι!Όμως προγραμματιστικά δεν μπορώ να λάβω υπόψη μου ότι τα δεδομένα ακολούθούν δυωνυμική κατανομή εξαρχής.
Πρέπει να κάνω ένα πρόγραμμα έτσι ώστε να δημιουργεί διάφορα δείγματα με την εντολή sample και έπειτα με αυτά τα δείγματα να υποθέσω μια κατανομή και να κάνω για αυτήν χ^2 test προσαρμογής για να δω εάν είναι όντως αυτή η κατανομή!Μάλιsτα μου είπαν οτι μάλλον βγαίνει poisson ενώ θεωρητικά για μεγάλα n η δυωνυμική κατανομή πηγαίνει σε κανονική με μέση τιμή και διασπορά αυτά που μου έγγραψες.Το πρόβλημα ειναι ότι εγώ δημιουργώ αυτά τα δείγματα όμως δεν ξέρω πως να συνεχίσω μετά προγραμματιστικά......... Sad 

sansindy2

Posts : 7
Join date : 03/06/2014

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: η εντολή sample στην R

Δημοσίευση από barney84 Την / Το Τρι 3 Ιουν 2014 - 22:10

Αν και δεν είμαι σίγουρος ότι έχω καταλάβει υποθέτω πως προσομοιώνεις κάτι τέτοιο
Κώδικας:

counter=0
for(j in 1:300){
temp=sample(c(1:100), 100, replace = FALSE, prob = NULL)
counter[j]=0
for(i in 1:100) {
if (temp[i]==i) counter[j]=counter[j]+1
}
}
counter
mean(counter)
var(counter)

Και λες με ποια κατανομή θα το συγκρίνω. Αφού είναι διακριτή μπορείς να την συγκρίνεις και με την Poisson και αφού δεν ξέρεις  ποια τιμή παίρνει η παράμετρος λ της Poisson,, πρέπει να κάνεις την σύγκριση με την Poisson(λκαπέλο) όπου το λκαπέλο είναι η εμπ που για την Poisson είναι η δειγματική μέση τιμή, δηλαδή το mean(counter).


Το counter είναι κάπως έτσι
Κώδικας:
1] 1 1 3 0 1 2 0 1 1 0 0 1 0 2 1 1 1 1 2 0 0 3 0 2 1 1 1 0 1 1 1 0 1 0 2 0 1
...
[297] 1 0 0 1
Θα μετρήσεις με κάποιον κώδικα πόσες φορές είναι 0,1,2,3, <3
κάπως έτσι
Κώδικας:

counter0=0
counter1=0
counter2=0
counter3=0
counter4=0
for(i in 1:300){
if(counter[i]==0) counter0=counter0+1 else if(counter[i]==1) counter1=counter1+1 else if(counter[i]==2) counter2=counter2+1 else if(counter[i]==3) counter3=counter3+1 else counter4=counter4+1}


και αυτά θα είναι τα Oi στον τύπο

ενώ τα Ei θα είναι τα dpois(0, mean(counter), log = FALSE)*300
dpois(1, mean(counter), log = FALSE)*300 ... 1-ppois(3, mean(counter), log = FALSE)

Κάτι τέτοιο εννοείς ή το χω πάρει λάθος εξ αρχής;
avatar
barney84

Posts : 18
Join date : 25/01/2014

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: η εντολή sample στην R

Δημοσίευση από sansindy2 Την / Το Τετ 4 Ιουν 2014 - 2:46

ναι σωστά κατάλαβες!εντάξει το έκανα!τελικά poisson είναι απλά μου φαίνεται περίεργο γιατί απο την διατύπωση μοιάζει για δυωνυμική,η οποία για n>>> πηγαινει σε κανονική κατανομή!Σε ευχαριστώ πολύ για την βοήθεια και τον χρόνο σου!!! Very Happy 

sansindy2

Posts : 7
Join date : 03/06/2014

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: η εντολή sample στην R

Δημοσίευση από Dimitris Karlis Την / Το Τετ 18 Ιουν 2014 - 1:27

φοβάμαι πως ειναι λάθος ο συλλογισμός και οι προτάσεις. Δεν εχεις ανεξάρτητες δοκιμές για να εχεις διωνυμική και η poisson δεν κολλάει. Ειναι δειγματοληψία χωρίς επανάθεση το προβλημα αυτό οδηγεί σε matching problem και matching distributions που λογικά δeν εχετε διδαχθεί αλλά ισως εχετε ακούσει το πρόβλημα της γραμματεώς, να βάλει ν γραμματα σε ν φακέλους με σωστό παραλήπτη.


Δείτε εδώ
http://mathforum.org/library/drmath/view/56592.html
κι εδώ
http://www.math.uah.edu/stat/urn/Matching.html
για να παέρτε μια ιδεά.

η κατανομή για μεγάλο n  συγκλίνει στην poisson.

Στην R ο κωδικας ειναι πολύ πιο απλός από αυτόπν που περιγραφετε παραπάνω


Έχει επεξεργασθεί από τον/την Dimitris Karlis στις Τετ 18 Ιουν 2014 - 16:21, 1 φορά
avatar
Dimitris Karlis

Posts : 187
Join date : 14/04/2011

http://www.stat-athens.aueb.gr/~karlis

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: η εντολή sample στην R

Δημοσίευση από barney84 Την / Το Τετ 18 Ιουν 2014 - 9:54

Η αλήθεια είναι ότι και μένα ο συλλογισμός μου, μου φαινόταν λάθος (αφού όντως δεν είναι ανεξάρτητα) μέχρι που βρήκα αυτή την άσκηση
https://dl.dropboxusercontent.com/u/100247419/statff.JPG
(είναι απ'το βιβλίο Θεωρία Πιθανοτήτων και Εφαρμογές Χ. Χαραλαμπίδης)
η οποία είναι παρόμοια (εκτός κι αν δεν βλέπω κάτι καλά).
Πιθανόν βέβαια να είναι λάθος λυμένη.

avatar
barney84

Posts : 18
Join date : 25/01/2014

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: η εντολή sample στην R

Δημοσίευση από Dimitris Karlis Την / Το Τετ 18 Ιουν 2014 - 16:28

η ασκηση δεν διευκρινίζει αν μιλάμε για επανάθεση ή όχι (τουλάχιστον στο κομμάτι που βλέπω). Αν υπάρχει επανάθεση τότε ειναι διωνυμική αλλά αν δεν υπάρχει τότε γινεται πιο συνθετο το πρόβλημα...
avatar
Dimitris Karlis

Posts : 187
Join date : 14/04/2011

http://www.stat-athens.aueb.gr/~karlis

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: η εντολή sample στην R

Δημοσίευση από barney84 Την / Το Τετ 18 Ιουν 2014 - 21:32

Δεν έχει άλλο κομμάτι η άσκηση, οπότε  φαίνεται τελικά πως θεωρεί πως γίνεται με επανάθεση. Οπότε συγνώμη για την όποια σύγχυση.
Όσον αφορά τον κώδικα στην R το χω γενικά αυτό με τους μακροσκελείς κώδικες.
avatar
barney84

Posts : 18
Join date : 25/01/2014

Επιστροφή στην κορυφή Πήγαινε κάτω

ypologismos pinaka stin R

Δημοσίευση από sansindy2 Την / Το Τρι 3 Μαρ 2015 - 0:59

Καλησπέρα παιδιά!θέλω να κατασκευάσω στην R έναν πίνακα όπου στη κύρια διαγώνιο θα έχει το στοιχείο -1 στην υπερδιαγώνιο θα έζει μονάδες και η διάσταση του θα είναι (κ-1)*κ όπου κ πολύ μεγάλοσ αριθμός .μπορέι να μου πει κάποιος πως γίνεται γιατί προσπαθώ με τις εντολές for kai if και κάτι δεν μου πάει καλά.

sansindy2

Posts : 7
Join date : 03/06/2014

Επιστροφή στην κορυφή Πήγαινε κάτω

Απ: η εντολή sample στην R

Δημοσίευση από Dimitris Karlis Την / Το Τρι 17 Μαρ 2015 - 12:59

εννοείς ότι ο πινακας ειναι k(k-1) x k(k-1).

Δες αυτο με μικρο k για να χωρεσει εδω μέσα


k<-3
knew<-k*(k-1)
x<-diag(-1,knew)
xx<-rep(0,knew*knew)
xx[seq(2,(knew*knew),by=(knew+1))]<- 1
xx<-matrix(xx,knew,knew,byrow=TRUE)
x+xx
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] -1 1 0 0 0 0
[2,] 0 -1 1 0 0 0
[3,] 0 0 -1 1 0 0
[4,] 0 0 0 -1 1 0
[5,] 0 0 0 0 -1 1
[6,] 0 0 0 0 0 -1

θα μπορουσε να απλοποιηθει και αλλο αλλα δεν ειμαι σιγουρος οτι καταλαβαινω τι θες.
Ελπίζω να βοηθαει αυτο
avatar
Dimitris Karlis

Posts : 187
Join date : 14/04/2011

http://www.stat-athens.aueb.gr/~karlis

Επιστροφή στην κορυφή Πήγαινε κάτω

Επισκόπηση προηγούμενης Θ.Ενότητας Επισκόπηση επόμενης Θ.Ενότητας Επιστροφή στην κορυφή


 
Δικαιώματα σας στην κατηγορία αυτή
Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Δ.Συζήτησης