통계데이터분석 - 상관분석 - 편상관관계 🔑 partial correlation analysis | 두 변수 간의 순수한(진정한) 상관관계 | 제3의 변수 통제(영향 배제)

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ต.ค. 2024
  • [R을 이용한 통계데이터분석]
    편상관분석(partial correlation analysis)을 통해 두 변수 간의 순수한 상관관계를 파악할 수 있습니다. 다음과 같은 함수에 대한 설명이 포함되어 있습니다: ggm::pcor(), ggm::pcor.test(), ppcor::pcor(), ppcor::pcor.test().
    📢 R과 RStudio 설치는 'R 프로그래밍 / R 기초 - 설치' 강좌를 참고하세요( • R 프로그래밍 / R 기초 - 설치 🔑 ... ).
    📚 『곽기영』 채널의 동영상 강의는 다음 도서를 바탕으로 하고 있습니다. 책의 목차를 포함한 책자에 대한 소개는 도서명 옆의 링크를 참고해주세요. 💕
    『R 기초와 활용』 (product.kyobob...)
    『R을 이용한 통계데이터분석』 (product.kyobob...)
    『R을 이용한 머신러닝과 텍스트마이닝』 (product.kyobob...)
    『R을 이용한 웹스크레이핑과 데이터분석』 (product.kyobob...)
    『SPSS를 이용한 통계데이터분석』 (product.kyobob...)
    『소셜네트워크분석』 (product.kyobob...)
    #R프로그래밍 #데이터분석 #통계 #머신러닝 #데이터애널리틱스 #데이터사이언스

ความคิดเห็น • 15

  • @J-Seo
    @J-Seo 7 หลายเดือนก่อน

    교수님 3:52 에서 소득 변인 때문에 구매의향과 구매 필요성의 상관관계가 상쇄되어 나타나지 않을 수 있다고 말씀하셨는데, 소득이 높을수록 구매의향이 높고 구매필요성은 낮다면 결국 구매의향과 구매필요성이 부의 상관관계를 띠는 것으로 나타나는 것 아닌가요? 그 상태에서 소득변인을 통제하면 정의 상관관계로 바뀌는것 아닌지 궁금합니다.

    • @kykwahk
      @kykwahk  7 หลายเดือนก่อน +1

      네~ 기대한 상관은 정의 상관관계인데 아무런 관계가 없는 것처럼 나타나거나 더 나아가 그 반대의 관계로 나타날 경우(말씀 하신 것처럼) 제3의 변수가 개입되었을 가능성을 고려할 수 있다는 의미입니다.

    • @J-Seo
      @J-Seo 7 หลายเดือนก่อน

      @@kykwahk 감사합니다

  • @김혁-i9s
    @김혁-i9s 3 ปีที่แล้ว

    언급하신 ggm 패키지는 지금은 지원이 않되는것 같습니다. ppcor 패키지로 한번에 다 나오는 거 같습니다. 감사합니다.

    • @kykwahk
      @kykwahk  3 ปีที่แล้ว

      ggm 패키지는 정상적으로 동작합니다. 아마도 ggm 패키지의 함수를 실행하기에 앞서 ppcor 패키지의 함수를 실행했을 겁니다. 다음과 같이 해보세요.
      > mtcars2 library(ggm)
      > detach(package:ppcor)
      > pcor(c("mpg", "hp", "cyl", "wt"), cov(mtcars2))
      [1] -0.2758932
      ggm 패키지가 동작하지 않는 것처럼 보이는 이유는 다음과 같습니다. ppcor 패키지의 pcor() 함수와 pcor.test() 함수는 ggm 패키지의 함수명과 같습니다. 그래서 pcor() 함수와 pcor.test() 함수를 실행하면 ppcor 패키지와 ggm 패키지 가운데 탐색경로(search path)상 상위에 위치한 패키지의 함수가 호출됩니다. 따라서 원하는 함수를 문제 없이 사용하기 위해서는 우선 탐색경로를 확인한 후(search() 함수 이용) 사용하려는 패키지가 상위에 있지 않을 경우 함수명이 충돌하는 다른 패키지를 메모리에서 제거해야 합니다(detach(package:ggm) 또는 detach(package:ppcor)).
      탐색경로에 대한 보다 자세한 설명은 다음 강의를 참고하세요.
      R 프로그래밍 / R 기초 - 패키지(th-cam.com/video/rZZNUwyj5xE/w-d-xo.html)

    • @김혁-i9s
      @김혁-i9s 3 ปีที่แล้ว

      @@kykwahk 알려주신 절차로 하니 ggm 설치되고 실행 됩니다. 감사합니다.

  • @김혁-i9s
    @김혁-i9s 3 ปีที่แล้ว

    안녕하세요, 교수님. 영상강좌 보면서 많이 배우고 있습니다. 좋은 강좌 감사합니다. 위 내용 중에 cor(mtcars2)를 실행할 경우 "x는 반드시 수치형이어야 합니다" 라는 에러 메시지가 나오고 수행이 되지 않는데요. 해서 메시지 처럼, "cyl" 변수가 factor로 나와, 이거를 as.numeric으로 변환한 후에 동일한 명령을 재시행하니 정상적으로 상관 행렬이 구해졌는데요. 제가 수치형으로 바꿔서 진행한게 cor 함수 사용법에 맞는 것인지요? 아니면 R 세팅에서 교수님 것과 다른게 있어서 차이가 나는것인지 잘 몰라서 질의를 좀 드립니다. 감사합니다.

    • @kykwahk
      @kykwahk  3 ปีที่แล้ว

      상관계수를 계산하려면 대상 변수들은 수치형 변수이어야 합니다. 그런데요 mtcars 데이터셋에서 cyl 변수는 원래 numeric입니다.
      > class(mtcars$cyl)
      [1] "numeric"
      아마도 다른 작업 중에 팩터로 변환하신 것이 아닌가 싶습니다. 다음과 같이 다시 데이테셋을 불러와보세요.
      > data(mtcars)
      > str(mtcars)
      'data.frame': 32 obs. of 11 variables:
      $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
      $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
      $ disp: num 160 160 108 258 360 ...
      $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
      $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
      $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
      $ qsec: num 16.5 17 18.6 19.4 17 ...
      $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
      $ am : num 1 1 1 0 0 0 0 0 0 0 ...
      $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
      $ carb: num 4 4 1 1 2 1 4 2 2 4 ...

    • @김혁-i9s
      @김혁-i9s 3 ปีที่แล้ว

      @@kykwahk data(mtcars)로 불러오니 말씀하신 거 처럼 "cyl"이 numeric으로 나타납니다. 그런데 제가 이 실습하면서 새로운 script창 열어서 str(mtcars)로 불러오면 "cyl" 변수는 factor로 나오던데,요. 말씀주신거 처럼 제가 교수님 강의 영상보면서 차례차례 실습해 보고 있는데요. 다른 실습에서 이거를 factor로 바궜을 수 있을거 같습니다. 요거 관련해서 제가 RStudio를 실행하면 개별 통계분석과정 실습한 R스크립트 파일이 한꺼번에 열리는데요. 새로운 untitled 창만 나타나는게 아니라 아마도 환경설정에서 잘못한 거 같은데요. 혹시 이 부분 조언 좀 부탁 드리겠습니다.

  • @김혁-i9s
    @김혁-i9s 3 ปีที่แล้ว

    마지막으로 그러면 교수님, 여러 복수의 변수들 간의 상관행렬을 구할 경우, 그냥 cor 함수가 아니라 pcor 함수로 나온 결과를 택하는게 좀더 정확한 해석을 하는 거라고 일반화 할 수 있는 건지 궁금합니다.

    • @kykwahk
      @kykwahk  3 ปีที่แล้ว

      두 함수는 서로 다른 상관계수를 계산합니다. cor() 함수는 일반적인 상관계수를 계산하고요, pcor() 함수는 편상관계수를 계산합니다. 두 함수의 용도가 달라요.

    • @김혁-i9s
      @김혁-i9s 3 ปีที่แล้ว

      @@kykwahk 그렇다면 편상관계수를 구해야만 하는 사례인지 여부를 판단하는 일반적인 기준 같은게 있는지 궁금합니다. 감사합니다.

  • @yjn1423
    @yjn1423 3 ปีที่แล้ว

    편상관관계와 공변량을 통제하여 독립변수의 순수한 영향을 검정하는 공분산분석과 어떤 차이가 있나요? 다른 변수의 영향을 통제한다는 부분에서는 동일한 것 같아서 질문드립니다.

    • @kykwahk
      @kykwahk  3 ปีที่แล้ว

      네~ 그런 공통점이 있습니다.

    • @yjn1423
      @yjn1423 2 ปีที่แล้ว

      @@Gausse 정말 감사합니다. 도움이 많이 됐어요