Statystyka, prognozowanie, ekonometria, data mining Strona Główna
Reklama pqstat.pl
Statystyka, prognozowanie, ekonometria, data mining
Forum miłośników statystyki - Portal Statystyczny

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  Chat   Regulamin  Kadra forum
PORTAL STATYSTYCZNY
 Ogłoszenie 
FORUM STATYSTYCZNE MA JUŻ 10 LAT

Znasz statystykę lub ekonometrię, metody prognozowania, data mining i chcesz pomóc w rozwoju forum statystycznego ?
Pisz na: administrator(małpa)statystycy.pl

Rozpoczął swoją działalność portal statystyczny - masz pomysł na jego rozwój ?

Drogi forumowiczu! Zanim napiszesz posta zapoznaj się z regulaminem forum i przedstaw się
The International Year of Statistics (Statistics2013) Smarter Poland Portal statystyczny

Poprzedni temat «» Następny temat

Tagi tematu: Brak tagów.

Korelacje cząstkowe wsp. Spearmana i testy istotności
Autor Wiadomość
pirokatechina 
Szeregowy


Posty: 2
Skąd: Warszawa
Wysłany: 2009-09-29, 19:58   Korelacje cząstkowe wsp. Spearmana i testy istotności

Witam wszystkich,

Mam pytanie/problem. Chciałabym za pomocą Statistica (najchętniej) policzyć korelacje cząstkowe dla wsp. korelacji Spearmana i obliczyć istotność wyliczonych współczynników. W programie znalazłam tylko wersję dla wsp. korelacji Pearsona.
Bardzo proszę o pomoc.
Ostatnio zmieniony przez mathkit 2009-10-09, 12:39, w całości zmieniany 1 raz  
 
     
Google

Wysłany:    Reklama google.

 
 
Maro 
Podporucznik


Pomógł: 11 razy
Posty: 346
Skąd: Warszawa
Wysłany: 2009-09-29, 21:56   

Dawno już nie zaglądałem do statistica, ale korelacje spearmana powinny być w okienku ze statystykami nieparametrycznymi, oraz z tego co pamiętam jako opcja przy tworzeniu wykresów rozrzutu.
 
     
pirokatechina 
Szeregowy


Posty: 2
Skąd: Warszawa
Wysłany: 2009-09-30, 16:11   

Samą korelację Spearmana znalazłam, ale chciałabym teraz znalesc cząstkową Spearmana i test jej istotnosci. Nie musi być to w Statistice
 
     
mathkit 
Major



Pomógł: 46 razy
Wiek: 34
Posty: 1301
Skąd: Katowice
Wysłany: 2009-09-30, 16:20   

Co to korelacja cząstkowa Spearmana, możesz wysłać jakiś odnośnik jak się to definiuje i gdzie liczy ?
 
 
     
Crunchy 
Major
Crunchy


Pomógł: 75 razy
Posty: 1130
Skąd: Katowice
Wysłany: 2009-09-30, 18:58   

Mi się wydaje, że to powinno być gdzieś w okienku regresji wielorakiej.
W R jest funkcja pcor.shrink z library(corpcor), ale nie wiem czemu wyniki oznajmia jako:
Cytat:
Estimating optimal shrinkage intensity lambda (correlation matrix):

Mogłabyś dołączyć dane, żeby porównać wyniki?

w StatKsiążce, Wiki ang., Wiki pol.

Wróóóć :-D OK, w R da się to obliczyć (SAS i Stata powinny mieć tą opcję...), znalazłem kod definiujący tą funkcję, ale nie ma go chyba w żadnym pakiecie (?)
Kod:
pcor.test <- function(x,y,z,use="mat",method="p",na.rm=T){
    # The partial correlation coefficient between x and y given z
    #
    # pcor.test is free and comes with ABSOLUTELY NO WARRANTY.
    #
    # x and y should be vectors
    #
    # z can be either a vector or a matrix
    #
    # use: There are two methods to calculate the partial correlation coefficient.
    #    One is by using variance-covariance matrix ("mat") and the other is by using recursive formula ("rec").
    #    Default is "mat".
    #
    # method: There are three ways to calculate the correlation coefficient,
    #        which are Pearson's ("p"), Spearman's ("s"), and Kendall's ("k") methods.
    #         The last two methods which are Spearman's and Kendall's coefficient are based on the non-parametric analysis.
    #        Default is "p".
    #
    # na.rm: If na.rm is T, then all the missing samples are deleted from the whole dataset, which is (x,y,z).
    #        If not, the missing samples will be removed just when the correlation coefficient is calculated.
    #       However, the number of samples for the p-value is the number of samples after removing
    #       all the missing samples from the whole dataset.
    #       Default is "T".

    x <- c(x)
    y <- c(y)
    z <- as.data.frame(z)

    if(use == "mat"){
        p.use <- "Var-Cov matrix"
        pcor = pcor.mat(x,y,z,method=method,na.rm=na.rm)
    }else if(use == "rec"){
        p.use <- "Recursive formula"
        pcor = pcor.rec(x,y,z,method=method,na.rm=na.rm)
    }else{
        stop("\'use\' should be either \"rec\" or \"mat\"!\n")
    }

    # print the method
    if(gregexpr("p",method)[[1]][1] == 1){
        p.method <- "Pearson"
    }else if(gregexpr("s",method)[[1]][1] == 1){
        p.method <- "Spearman"
    }else if(gregexpr("k",method)[[1]][1] == 1){
        p.method <- "Kendall"
    }else{
        stop("\'method\' should be \"pearson\" or \"spearman\" or \"kendall\"!\n")
    }

    # sample number
    n <- dim(na.omit(data.frame(x,y,z)))[1]
   
    # given variables' number
    gn <- dim(z)[2]

    # p-value
    if(p.method == "Kendall"){
        statistic <- pcor/sqrt(2*(2*(n-gn)+5)/(9*(n-gn)*(n-1-gn)))
        p.value <- 2*pnorm(-abs(statistic))

    }else{
        statistic <- pcor*sqrt((n-2-gn)/(1-pcor^2))
          p.value <- 2*pnorm(-abs(statistic))
    }

    data.frame(estimate=pcor,p.value=p.value,statistic=statistic,n=n,gn=gn,Method=p.method,Use=p.use)
}           

# By using var-cov matrix
pcor.mat <- function(x,y,z,method="p",na.rm=T){

    x <- c(x)
    y <- c(y)
    z <- as.data.frame(z)

    if(dim(z)[2] == 0){
        stop("There should be given data\n")
    }

    data <- data.frame(x,y,z)

    if(na.rm == T){
        data = na.omit(data)
    }

    xdata <- na.omit(data.frame(data[,c(1,2)]))
    Sxx <- cov(xdata,xdata,m=method)

    xzdata <- na.omit(data)
    xdata <- data.frame(xzdata[,c(1,2)])
    zdata <- data.frame(xzdata[,-c(1,2)])
    Sxz <- cov(xdata,zdata,m=method)

    zdata <- na.omit(data.frame(data[,-c(1,2)]))
    Szz <- cov(zdata,zdata,m=method)

    # is Szz positive definite?
    zz.ev <- eigen(Szz)$values
    if(min(zz.ev)[1]<0){
        stop("\'Szz\' is not positive definite!\n")
    }

    # partial correlation
    Sxx.z <- Sxx - Sxz %*% solve(Szz) %*% t(Sxz)
   
    rxx.z <- cov2cor(Sxx.z)[1,2]

    rxx.z
}

# By using recursive formula
pcor.rec <- function(x,y,z,method="p",na.rm=T){
    #

    x <- c(x)
    y <- c(y)
    z <- as.data.frame(z)

    if(dim(z)[2] == 0){
        stop("There should be given data\n")
    }

    data <- data.frame(x,y,z)

    if(na.rm == T){
        data = na.omit(data)
    }

    # recursive formula
    if(dim(z)[2] == 1){
        tdata <- na.omit(data.frame(data[,1],data[,2]))
        rxy <- cor(tdata[,1],tdata[,2],m=method)

        tdata <- na.omit(data.frame(data[,1],data[,-c(1,2)]))
        rxz <- cor(tdata[,1],tdata[,2],m=method)

        tdata <- na.omit(data.frame(data[,2],data[,-c(1,2)]))
        ryz <- cor(tdata[,1],tdata[,2],m=method)

        rxy.z <- (rxy - rxz*ryz)/( sqrt(1-rxz^2)*sqrt(1-ryz^2) )
       
        return(rxy.z)
    }else{
        x <- c(data[,1])
        y <- c(data[,2])
        z0 <- c(data[,3])
        zc <- as.data.frame(data[,-c(1,2,3)])

        rxy.zc <- pcor.rec(x,y,zc,method=method,na.rm=na.rm)
        rxz0.zc <- pcor.rec(x,z0,zc,method=method,na.rm=na.rm)
        ryz0.zc <- pcor.rec(y,z0,zc,method=method,na.rm=na.rm)
       
        rxy.z <- (rxy.zc - rxz0.zc*ryz0.zc)/( sqrt(1-rxz0.zc^2)*sqrt(1-ryz0.zc^2) )
        return(rxy.z)
    }           
}

Na stronie zobaczysz przykład i nie powinno być problemu.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych zakładek(IE)
Wersja do druku

Skocz do:  

Podobne Tematy
Temat Autor Forum Odpowiedzi Ostatni post
Brak nowych postów Przyklejony: test istotności współczynnika korelacji rang Spearmana
maga Testowanie hipotez statystycznych 41 2017-11-25, 14:10
novitz
Brak nowych postów Przyklejony: Współczynnik korelacji rang Spearmana
student82 Statystyka opisowa 67 2014-12-14, 15:15
mathkit
Brak nowych postów Przyklejony: 3. Testy dla średniej
mathkit Wiedza statystyczna 0 2013-04-15, 13:03
mathkit
Brak nowych postów Przyklejony: TESTY SPSS
oli Testowanie hipotez statystycznych 66 2016-10-19, 16:13
wwwmetodologpl
Brak nowych postów Przyklejony: testy zgodnosci (statgraphics?)
niecha27 Testowanie hipotez statystycznych 17 2008-12-01, 23:50
cogito

Ideą przyświecającą istnieniu forum statystycznego jest stworzenie możliwości wymiany informacji, poglądów i doświadczeń osób związanych ze statystyką, mierzenie się z różnego rodzaju problemami statystycznymi i aktuarialnymi. Poruszane problemy: Statystyka w badaniach sondażowych rynku, metody reprezentacyjne, Teoria i rachunek prawdopodobieństwa, statystyka opisowa, teoria estymacji, testowanie hipotez statystycznych, ekonometria, prognozowanie, metody data mining.
Copyright (C) 2006-2015 Statystycy.pl
Powered by phpBB modified by Przemo © 2003 phpBB Group
Strona wygenerowana w 0,09 sekundy. Zapytań do SQL: 17