Grstats Forum

Hierarchical Custering sthn R me ypar3h NA's

Πήγαινε κάτω

Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από LB Την / Το Πεμ 6 Ιαν 2011 - 12:18

kalhmera se olous kai kalh xronia!!!

Ta dedomena mou aforoun erwthmatologio pou sxetizetai me thn ypar3h sxizotypias.

Exw 18 metavlhtes,opou oi apanthseis einai -1(xrhsh aristerou melous), 0 (xrhsh kai twn 2 melwn) kai 1 (xrhsh de3iou melous) gia th xrhsh podiwn,matiwn kai akohs.Oi metavlhtes autes aforoun 80 atoma. Dokimazw hierarchical clustering gia na dhmiourghsw 3 omades(mia gia ka8e periptwsh xrhshs melwn,dhl de3i,aristero h' kai ta 2).

Arxika xrhsimopoihsa eukleideia apostash me tis me8odous complete,ward,centroid,average kai single.ta apotelesmata apo ka8e me8odo ta sygkrinw me me metavlhth anett pou exei mia katata3h twn atomwn.

symfwna me ton syntelesth kappa,h megalyterh timh mou prokyptei gia tis me8odous centroid kai single (0.644),enw gia tis ypoloipes 0.38.

Wstoso,dokimasa mia parallagh tou simple matching coefficient,alla se pinaka 3X3,me tis symfwnies meta3y twn 2 metavlhtwn na vriskontai sth diagwnio.kai auto giati 8ewrw oti oi times autes einai symmetrikes

To provlhma einai pws otan auth thn function thn pernw ws as.dist() mesa sthn hclust(),mou vgazei mhnyma "NA/NaN/Inf in foreign function call (arg 11)".ti mporw na kanw gia na lysw to provlhma?

Oi entoles gia thn simple matching einai:
matc<-function(x,y) {
a<-sum((x==-1)&(y==-1))
b<-sum((x==-1)&(y==0))
c<-sum((x==-1)&(y==1))
d<-sum((x==0)&(y==-1))
e<-sum((x==0)&(y==0))
f<-sum((x==0)&(y==1))
g<-sum((x==1)&(y==-1))
h<-sum((x==1)&(y==0))
i<-sum((x==1)&(y==1))

c(a,b,c,d,e,f,g,h,i)
}



matching<-function(x) {
p1<-dim(x)[1]
p2<-dim(x)[2]
d<-matrix(NA,p1,p1)
for (i in 1:p1) {
for (j in 1:p1) {
a<- matc(x[i, ],x[j, ])
d[i,j]<- (a[1]+a[5]+a[9]) / ( a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9] )
} }
d
}

Euxaristw,kai syggnwmh gia to length tou 8ematos.

avatar
LB

Posts : 22
Join date : 11/02/2010

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από old stat Την / Το Παρ 7 Ιαν 2011 - 22:51

Στο sum βαλε na.rm=T
δηλαδή

πχ

sum((x==0)&(y==0), na.rm=T)

Aλήθεια : στη match γιατί ολα αυτά τα sum?

Θα αρκούσε ένα
sum(x=y, na.rm=T)

Τα δεδομένα ειναι για εργασία σε μάθημα ή από κάποιο ερωτηματολόγιο που εσύ έτρεξες;
avatar
old stat

Posts : 86
Join date : 24/12/2009

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από R4ever Την / Το Σαβ 8 Ιαν 2011 - 10:27

Ean katalabaino kala ti thes na kaneis tote apla xreiazesai tin function table(), e.g.,

Κώδικας:

x <- sample(c(-1,0,1,NA), 20, TRUE)
y <- sample(c(-1,0,1,NA), 20, TRUE)
table(x, y)
avatar
R4ever

Posts : 44
Join date : 20/01/2010
Age : 38

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από LB Την / Το Σαβ 8 Ιαν 2011 - 14:47

Ta dedomena einai gia ergasia...
avatar
LB

Posts : 22
Join date : 11/02/2010

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από LB Την / Το Σαβ 8 Ιαν 2011 - 14:54

etre3a auton ton kwdika,alla vgazei kapoia -Inf

matc<-function(x,y) {
e<-sum(x=y, na.rm=T)
f<-sum(x!=y, na.rm=T)
c(e,f)
}

matching<-function(x) {
p1<-dim(x)[1]
p2<-dim(x)[2]
d<-matrix(NA,p1,p1)
for (i in 1:p1) {
for (j in 1:p1) {
a<- matc(x[i, ],x[j, ])
d[i,j]<- a[1] / ( a[1]+a[2] )
} }
d
}
avatar
LB

Posts : 22
Join date : 11/02/2010

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από old stat Την / Το Σαβ 8 Ιαν 2011 - 16:35

Δεν μας βοηθάς.
Κάνε σωστό debugging!
Δες σε ποιές παρατηρήσεις (ή μηπως μεταβλητές) συμβαινει αυτό!
Τι τιμές έχουν? Πχ αν ολα ειναι ΝΑ απόλυτα λογικό να εχεις πρόβλημα...
(διαιρείς με 0). επίσης το -Ιnf μου μοιάζει 0 στον παρονομαστή και αρνητικό στον αριθμητή, ακούγεται παράξενο...
Ποσες παρατηρήσεις και πόσες μεταβλητές έχεις; Κάνεις clustering προς τις μεταβλητές ή τις παρατηρήσεις;


avatar
old stat

Posts : 86
Join date : 24/12/2009

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από R4ever Την / Το Σαβ 8 Ιαν 2011 - 17:46

Logika xreiazetai

Κώδικας:

sum(x == y, na.rm = TRUE)

ki oxi

Κώδικας:

sum(x = y, na.rm = TRUE)
avatar
R4ever

Posts : 44
Join date : 20/01/2010
Age : 38

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από old stat Την / Το Σαβ 8 Ιαν 2011 - 18:11

Thanks R4ever
εχεις δικιο...
avatar
old stat

Posts : 86
Join date : 24/12/2009

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από thodoris Την / Το Σαβ 8 Ιαν 2011 - 22:50

Καλησπερα, εγω χρησιμοποιω την εντολη kmodes στην R αλλα επειδη στα δεδομενα υπαρχουν ΝΑ μου βγαζει το λαθος :
"Error in cluster[j] <- which.min(dist) : replacement has length zero"

Τα δεδομενα ειναι τα ιδια με παραπανω. Καμια ιδεα για να αποφυγω τα ΝΑ?


thodoris

Posts : 7
Join date : 23/12/2009

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από old stat Την / Το Σαβ 8 Ιαν 2011 - 23:09

Φοβάμαι πως και πάλι το πρόβλημα ειναι το πως υπολογίζεται η απόσταση, μάλλον δεν έχει την υποεντολή να αγνοήσει τα ΝΑ. Αυτό που βλέπω ειναι σαν λύση να πειράξεις (προσοχή, γενικά μπορεί να οδηγήσει σε άλλα προβλήματα να πειράζεις κωδικα που δεν έχεις γράψει και δεν ξέρεις και τη φιλοσοφία αυτού που τον εγραψε) την συνάρτηση kmodes. Σιγουρα σε κάποιο σημείο θα ορίζει την απόσταση και υποψιάζομαι ότι απλά δνεέχει na.rm=T στο αντίστοιχο sum.

Σε ποιό μεταπτυχιακό σας βάζουν τέτοιες εργασίες;
avatar
old stat

Posts : 86
Join date : 24/12/2009

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από thodoris Την / Το Κυρ 9 Ιαν 2011 - 0:55

Τελικα αυτο ηταν το προβλημα. Ειχε μερικα sum χωρις na.rm=TRUE. Ευχαριστω για την βοηθεια.
Δεν ειναι μεταπτυχιακο, απο το προπτυχιακο της Στατιστικης στην ΑΣΟΕΕ ειναι, στο μαθημα Πολυμεταβλητες Τεχνικες

thodoris

Posts : 7
Join date : 23/12/2009

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από LB Την / Το Κυρ 9 Ιαν 2011 - 15:16

old stat έγραψε:Δεν μας βοηθάς.
Κάνε σωστό debugging!
Δες σε ποιές παρατηρήσεις (ή μηπως μεταβλητές) συμβαινει αυτό!
Τι τιμές έχουν? Πχ αν ολα ειναι ΝΑ απόλυτα λογικό να εχεις πρόβλημα...
(διαιρείς με 0). επίσης το -Ιnf μου μοιάζει 0 στον παρονομαστή και αρνητικό στον αριθμητή, ακούγεται παράξενο...
Ποσες παρατηρήσεις και πόσες μεταβλητές έχεις; Κάνεις clustering προς τις μεταβλητές ή τις παρατηρήσεις;


Apo tis 18 metavlhtes pou xrhsimopoiw,oi 6 exoun stis prwtes 12 ,apo synolo 80 parathrhsewn, NA. Kanw clustering ws pros tis parathrhseis.Tha prospa8hsw na efarmosw kai thn entolh pou etre3e o 8odwrhs,mhpws kai voh8hsei.
avatar
LB

Posts : 22
Join date : 11/02/2010

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από old stat Την / Το Δευ 10 Ιαν 2011 - 11:35

...μια απλή σκέψη θα ηταν απλά να διώξεις αυτές τις παρατηρήσεις, Στο τέλος μπορείς να τις κατατάξεις σε σχέση με τις πιο ομοιες τους (δεν ξέρω αν αυτό ειναι στην ύλη σας). Απο εκεί και πέρα το -Inf που λές ακουγεται παράξενο καθώς νομίζω ότι σημαίνει 0 στον παρονομαστή που δεν μου προκύπτει αφού λές ότι έχεις μέρος μονο των μεταβλητών με ΝΑ. . Μήπως υπάρχει κάποια παρατήρηση που να ειναι όλα ΝΑ?

Αχ στα χρόνια τα δικά μας δεν υπήρχαν Missing values στο πανεπιστήμιο...
avatar
old stat

Posts : 86
Join date : 24/12/2009

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από old stat Την / Το Δευ 10 Ιαν 2011 - 13:38

Yποψιάζομαι πως δεν διαβάζεις σωστά τα δεδομένα

Το παρακάτω με προσομοιωμένα δεδομένα και ΝΑ τρέχει κανονικά

temp<-rbinom(80*18,2,0.5) #from binomial
temp<-temp-1 # make them with values -1,0,1
theseis<-round(runif(100,0,80*17)+1) #choose random points to make them NA
temp[theseis]<-NA # I make some of them NA

data<-matrix(temp,80,18) #my final data




matching<-function(x) {
# x is a matrix with the data
p1<-dim(x)[1]
p2<-dim(x)[2]
d<-matrix(NA,p1,p1)
for (i in 1:p1) {
for (j in 1:p1) {
d[i,j]<- mean(x[i,]==x[j,],na.rm=T)
} }
d
}


b<-matching(data)
plot(hclust(as.dist(b)))



avatar
old stat

Posts : 86
Join date : 24/12/2009

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

Απ: Hierarchical Custering sthn R me ypar3h NA's

Δημοσίευση από LB Την / Το Κυρ 16 Ιαν 2011 - 14:52

Vghkan auta pou epsaxna.Sas euxaristw poly gia th voh8eia!
avatar
LB

Posts : 22
Join date : 11/02/2010

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

Επιστροφή στην κορυφή


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