본문 바로가기

개인공부 정리/다양한 질문들

0131 수업 질문들

Q1. Python과 R에서 요약 통계를 볼 때 차이점을 알 수 있습니까?

예, Python과 R에서 요약 통계를 볼 때 차이가 있습니다.

Python과 R에는 요약 통계를 쉽게 계산하고 시각화할 수 있는 라이브러리와 함수가 있지만

구문, 출력 형식 및 특정 함수는 다를 수 있습니다.

 

Python에서는 pandas라이브러리를 사용하여 요약 통계를 계산할 수 있습니다.

예를 들어 DataFrame에서 describe()메서드를 사용하여

pandas 개수, 평균, 표준 편차, 최소값 및 최대값, 사분위수 등과 같은 기본 요약 통계를 얻을 수 있습니다.

출력은 테이블 형식으로 제공됩니다.

 

R에서는 summary()함수를 사용하여 데이터 프레임 또는 벡터에 대한 요약 통계를 계산할 수 있습니다. 출력에는 평균, 중앙값, 사분위수, 최소값, 최대값, 범위가 포함됩니다. 출력은 간단한 텍스트 형식으로 표시됩니다.

 

matplotlib Python과 R에는 각각 및 와 같은 플로팅 라이브러리가 ggplot2에 있어 히스토그램, 박스 플롯 및 기타 유형의 플롯을 통해 데이터 분포를 시각화할 수 있습니다. 이러한 라이브러리는 구문이 다르고 다양한 사용자 지정 옵션을 제공하므로 특정 사용 사례에 따라 다른 라이브러리보다 선호할 수 있습니다.

 
Q2. 표준 편차에 대해 설명해주세요

표준 편차는 데이터 세트의 변동 또는 분산 정도를 측정한 것입니다.

분산의 제곱근으로 계산되며, 이는 평균과의 차이의 평균 제곱을 측정한 것입니다.

 

작은 표준 편차는 데이터가 평균 주변에 밀집되어 있음을 나타내고

큰 표준 편차는 데이터가 더 넓게 퍼져 있음을 나타냅니다. 표준 편차는 데이터와 동일한 단위로 표시됩니다.

 

표준 편차는 종종 데이터 세트의 분포를 설명하는 데 사용되며 많은 통계 테스트 및 모델에서 중요한 통계입니다. 평균을 왜곡할 수 있는 이상값이나 극단값의 영향을 받지 않기 때문에 데이터 세트의 가변성을 측정하는 데 유용한 측정값입니다.

요약하면 표준 편차는 데이터 세트의 값이 평균과 얼마나 다른지를 나타내는 척도이며 데이터의 산포에 대한 중요한 정보를 제공합니다.

 

Q2. 유의성 검사할 때 0.05의 의미는 무엇인가요? (0.05가 나오는 이유까지)

0.05의 유의 수준은 통계적 유의성을 결정하는 데 가장 널리 사용되는 임계값입니다. 결과가 우연히 또는 임의의 오류로 인해 발생할 확률이 5%임을 의미합니다. 0.05의 유의 수준은 p-값이 0.05보다 작거나 같을 때 연구 결과가 통계적으로 유의하다는 것을 나타내며 결과가 우연히 발생했을 확률이 5% 미만임을 의미합니다. 이는 연구자가 결과가 신뢰할 수 있고 더 큰 모집단으로 일반화될 수 있는지 여부를 결정하는 데 도움이 됩니다.

 

0.05의 유의 수준은 통계 분야에서 오랜 전통을 가지고 있으며 관례와 역사적 관례를 기반으로 합니다. 0.05를 선택한 특별한 수학적 이유는 없지만 통계적 유의성을 결정하기 위한 표준 임계값으로 널리 사용됩니다. 제1종 오류는 실제로 참인 귀무가설을 기각하는 오류(거짓 양성)와 제2종 오류는 실제로 거짓인 귀무가설을 기각하지 못하는 제1종 오류와 제2종 오류 사이의 균형을 맞추는 것으로 생각됩니다. (거짓 부정). 0.05 유의 수준은 연구에서 제1종 오류를 범할 전체 확률을 제어하는 ​​방법을 제공합니다.

 

Q3. 모수통계와 비모수통계에 대해 알려줄래

모수 통계 및 비모수 통계는 통계 방법의 두 가지 광범위한 범주입니다.

모수 통계는 분석 중인 데이터가 특정 확률 분포, 일반적으로 정규 분포를 따른다는 가정을 기반으로 합니다. 이를 통해 평균 및 표준 편차와 같은 모집단 매개변수에 대한 가정을 하는 t-테스트 및 ANOVA와 같은 방법을 사용할 수 있습니다.

 

반면에 비모수 통계는 모집단 분포에 대해 어떠한 가정도 하지 않습니다. 대신 실제 값이 아닌 순위 분포 또는 데이터 순서에 의존합니다. 비모수적 방법의 예로는 Wilcoxon rank-sum test 및 Kruskal-Wallis test가 있습니다.

비모수적 방법은 데이터가 모수적 방법에서 요구하는 정규성 가정을 충족하지 않거나

데이터가 본질적으로 서수 또는 명목일 때 유용합니다.

 

요약하면, 모수 통계는 데이터의 특정 분포를 가정하지만 비모수 통계는 데이터 분포에 대해 어떠한 가정도 하지 않습니다.

 

Q4. 빅데이터 의료 산업에서 파이썬이나 R프로그램을 활용하는 것과 관련해서 모수 통계와 비모수 통계가 가지고 있는 장단점을 알 수 있을까?

 

빅 데이터 의료 산업에서 파라메트릭(모수) 통계를 사용하는 이점:

  • t-test 및 ANOVA와 같은 파라메트릭 방법을 사용하면 데이터가 정규성 가정을 충족할 때 더 정확한 결과를 제공할 수 있습니다.
  • 이러한 방법을 사용하면 평균 및 표준 편차와 같은 효과 크기의 정확한 측정값을 계산할 수 있습니다.
  • 파라메트릭 방법은 계산적으로 효율적이며 대규모 데이터 세트를 처리할 수 있으므로 의료 산업의 빅 ​​데이터 응용 프로그램에 적합합니다.
  • 파라메트릭 방법의 사용은 잘 확립되어 있으며 이러한 분석을 수행하는 데 사용할 수 있는 Python 및 R용 패키지와 라이브러리가 많이 있습니다.

빅 데이터 의료 산업에서 파라메트릭(모수) 통계 사용의 단점:

  • 정규성 및 등분산의 가정은 실제 데이터 세트에서 충족되지 않는 경우가 많기 때문에 제한 요소가 될 수 있습니다.
  • 파라메트릭 방법은 분석 결과에 상당한 영향을 미칠 수 있는 이상값에 민감할 수 있습니다.

빅 데이터 의료 산업에서 비모수 통계를 사용하는 이점:

  • 비모수적 방법은 데이터 분포에 대해 어떠한 가정도 하지 않으므로 모수적 방법에서 요구하는 정규성 가정을 충족하지 않는 데이터 세트에 적합합니다.
  • 이러한 방법은 이상값에 강력하며 데이터가 정상적으로 분포되지 않은 경우에도 정확한 결과를 제공할 수 있습니다.
  • 비모수적 방법은 서수 및 명목 데이터를 포함하여 다양한 유형의 데이터를 처리할 수 있습니다.

빅 데이터 의료 산업에서 비모수 통계 사용의 단점:

  • 비모수적 방법은 특히 대규모 데이터 세트를 처리할 때 계산 집약적일 수 있으므로 의료 산업의 빅 ​​데이터 응용 프로그램에는 적합하지 않습니다.
  • 비모수적 방법의 결과는 종종 효과 크기의 정확한 측정이 아니라 데이터의 순위나 순서만 제공하기 때문에 매개변수적 방법의 결과보다 덜 정확합니다.
  • Python과 R 모두에서 비모수적 메서드에 대한 기존 패키지와 라이브러리가 더 적은 경우가 많기 때문에 이러한 분석을 수행하기가 더 어렵습니다.

모수 통계 : 표본이 많을 때

비모수 통계 : 표본이 적을 때

 

Q5. 구글 코랩에서 벡터 함수를 표현할 때 var = c[1:5]와 같은 세미콜론을 사용할 수 없는 이유는 무엇입니까?

 

Python에서 세미콜론은 같은 줄에 있는 여러 문장을 구분하는 데 사용되지만 벡터 함수를 표현하는 데 일반적으로 사용되지는 않습니다. 대신 벡터 함수는 일반적으로 한 줄의 코드로 표현되며 벡터에 대한 각 작업은 함수 호출 또는 메서드 호출로 표시됩니다.

예를 들어, Numpy 라이브러리에서는 [start:stop]세미콜론을 사용하는 대신 구문을 사용하여 벡터 조각을 추출합니다. 그 이유는 Numpy의 벡터 연산 구문이 세미콜론이나 다른 문장 부호에 의존하지 않고 읽기 쉽고 직관적으로 설계되었기 때문입니다.

일반적으로 모호한 구문이나 구두점에 의존하기보다는 읽고 이해하기 쉬운 코드를 작성하는 것이 좋습니다. 이렇게 하면 다른 사람이 코드를 더 쉽게 이해할 수 있고 버그 및 기타 문제를 방지할 수 있습니다.

 

Q6. 해당 내용을 통계적으로 설명해 주시겠습니까? : pearsonr(example.Test1, example.Test2)

 

Python의 라이브러리에 있는 pearsonr함수는 scipy.stats두 배열 사이의 Pearson 상관 계수를 계산합니다. Pearson 상관 계수는 두 변수 간의 선형 상관 관계를 측정한 것입니다. 범위는 -1에서 1까지이며 여기서 -1은 완전한 음의 상관관계를 나타내고 0은 상관관계가 없음을 나타내고 1은 완전한 양의 상관관계를 나타냅니다.

pearsonr다음 은 Python에서 함수를 사용하는 방법에 대한 예입니다 .

이 예에서 함수는 데이터 프레임의 및 열 pearsonr사이의 Pearson 상관 계수를 계산하는 데 사용됩니다 . 함수의 결과는 튜플입니다 . 여기서는 Pearson 상관 계수이고 는 상관의 유의성을 측정하는 양측 p-값입니다. 그리고 값은 함수를 사용하여 인쇄 됩니다.Test1Test2example(corr, p_value)corrp_valuecorrp_valueprint()

 

Q7. 파이썬에서 인덱싱 하는 방법은 뭔가요? - 1~5까지 한번에 출력하는 방법

인덱싱을 하기 위해서는 var1[시작번호:끝번호]로 적어야 합니다.

다만 파이썬에서는 시작번호가 0이기 때문에 다음과 같은 방법으로 표시합니다.

var1[0:3]을 입력해 [6,7,8]이 표현됩니다.

 

Q8. Corlab에서 막대 그래프를 사용할 때 막대 그래프 중간에 숫자를 넣고 싶습니다. 어떻게 해야 하나요?

1) AI의 방법

# 내장 데이터
df = sns.load_dataset('titanic')
DF = df['sex'].value_counts()
sns.countplot(data = df, x = 'sex')
DF
for i, v in enumerate(DF):
    plt.text(i, v/2, str(v), color='white', fontweight='bold', ha='center')

for부터 이어지는 2줄이 막대 그래프 중간에 수치를 넣는 값이 해당됩니다.

plt.text의 괄호에 포함 되는 경우는 text의 성질(굵기, 글씨크기, 색깔)을 의미합니다.

 

2) 교수님의 방법

import matplotlib
matplotlib.__version__
!pip install matplotlib --upgrade
# 내장 데이터
df = sns.load_dataset('titanic')
# DF = df['sex'].value_counts()
import matplotlib.pyplot as plt
bp = sns.countplot(data = df, x = 'sex')
for label in bp.containers:
  bp.bar_label(label, label_type = 'center')

matplotlib 기능을 불러와서 버전 업데이트를 해준 다음

다음 코드를 실행해줍니다.

 

해당 기능은 라벨 기능인데 라벨 기능과 관련한 문법은 아래에서 확인할 수 있습니다.

 

matplotlib.pyplot.bar_label — Matplotlib 3.6.3 documentation

'center': label placed in the center of the bar segment, and the value displayed will be the length of that segment. (useful for stacked bars, i.e., Bar Label Demo)

matplotlib.org

 

 

Q9. 해당 코드는 처음 봅니다. 자세히 설명해주시겠어요?

for i, v in enumerate(DF):
    plt.text(i, v/2, str(v), color='white', fontweight='bold', ha='center')

게시한 코드는 플롯을 생성하기 위해 matplotlib 라이브러리를 사용하는 Python 프로그램의 한 줄입니다. 각 줄의 의미는 다음과 같습니다.

  • "for i, v in enumerate(DF)"는 반복 가능한 "DF"의 요소를 반복하는 for 루프입니다.
  • "enumerate"는 iterable을 입력으로 사용하고 양식(인덱스, 요소)의 쌍을 생성하는 반복자를 반환하는 내장 Python 함수입니다. 따라서 이 경우 "i"는 반복에서 현재 요소의 인덱스이고 "v"는 현재 요소의 값입니다.
  • "plt.text(i, v/2, str(v), color='white', fontweight='bold', ha='center')"는 matplotlib 라이브러리의 "text" 함수에 대한 호출입니다. 이 호출의 목적은 처음 두 인수(i, v/2)로 지정된 위치에서 플롯에 텍스트를 추가하는 것입니다.
  • 첫 번째 인수 "i"는 플롯에 있는 텍스트의 x 좌표를 나타냅니다. (위치)
  • 두 번째 인수 "v/2"는 플롯에서 텍스트의 y 좌표를 나타냅니다. (위치)
  • 세 번째 인수 "str(v)"는 플롯에 추가할 텍스트를 나타내며 반복 "v"에서 현재 요소의 문자열 표현입니다.
  • 나머지 인수는 색상, 글꼴 두께 및 가로 정렬과 같은 텍스트에 대한 다양한 서식 옵션을 지정합니다. "color='white'"는 텍스트의 색상을 흰색으로 설정하고, "fontweight='bold'"는 텍스트의 글꼴 두께를 굵게 설정하고, "ha='center'"는 텍스트의 가로 정렬을 가운데로 설정합니다. 

Q10. 토드에서 엔터를 누르지 않으면 실행이 안됩니다.

토드에서는 블럭을 지정해서 엔터를 눌러야 실행이 됩니다.

아니면 줄바꿈을 하세요

 

728x90
반응형
LIST