08 / 18 · 회귀

오차 가정을 바꾸면 계수보다 신뢰구간이 달라진다

계수 포리스트와 보정된 평균 반응 곡선을 연결합니다. 원자료·계수는 같아도 OLS와 HC3의 구간은 다를 수 있습니다.

HC3 강건 오차 · 944 respondents · ANES96

오차 가정을 바꾸면 계수보다 신뢰구간이 달라진다
이 미리보기는 기존 16:9 장표입니다. 아래 Pele 관계도가 이 통계 그래프 전체를 생성한 것은 아닙니다.

이 관계도는 분석의 변수·설계·검정 관계를 설명하는 보조 도식입니다. 단독 HTML 발표 장표의 통계 그림과 구분합니다.

분석 관계도
Age: 10 years; education: 1–7 code. Urban:log(population in1000s+.1). Other covariates averaged over this sample; band is a mean CI.
Pele 관계도 원문
flowchart LR
 A["Age"] --> Y["TV news"]
 E["Education code"] --> Y
 U["Urban scale"] --> Y
 P["Party group"] --> Y
 Y --> R["Conditional association"]

공개된 추정치를 받아 축·선·구간·라벨을 직접 배치하는 실제 제작 분기입니다. 생략한 공용 함수와 전체 파일도 확인할 수 있습니다.

SVG 제작 분기 · JavaScript
if (v.kind === "regression") {
  let rows = v.coef
    .filter((x) => x.term !== "Intercept")
    .map((x) => ({ ...x, label: short[x.term] || x.term }));
  a.push(
    ...forest(rows, {
      x: 0,
      y: 0,
      w: 980,
      labelW: 300,
      rowH: 86,
      title: "A  Unstandardized B ·95% CI",
      unit: "Times/week per term unit",
    }),
  );
  a.push(T(1080, 33, "B  Adjusted mean response", 30, C.ink, 700));
  let pp = plotFrame({
    x: 1120,
    y: 100,
    w: 440,
    h: 340,
    xRange: [15, 95],
    yRange: [
      Math.min(2, ...v.predictions.map((p) => p.lo)),
      Math.max(7, ...v.predictions.map((p) => p.hi)),
    ],
    xTicks: [20, 40, 60, 80],
    yTicks: [2, 3, 4, 5, 6, 7],
    xLabel: "Age (years)",
    yLabel: "TV news (times/week)",
  });
  a.push(
    ...pp.a,
    G(curve(v.predictions, pp.X, pp.Y), v.key),
    T(1095, 575, "R² = " + fmt(v.r2, 3) + " · N =944", 28, C.teal, 700),
  );
  note =
    "Age: 10 years; education: 1–7 code. Urban:log(population in1000s+.1). Other covariates averaged over this sample; band is a mean CI.";
  source =
    'flowchart LR\n A["Age"] --> Y["TV news"]\n E["Education code"] --> Y\n U["Urban scale"] --> Y\n P["Party group"] --> Y\n Y --> R["Conditional association"]';
  map = {
    A: v.key,
    E: rows.find((x) => x.term === "educ")?.key,
    U: rows.find((x) => x.term === "logpopul")?.key,
    P: rows.find((x) => x.term.includes("Independent"))?.key,
    Y: v.key,
    R: v.key,
  };
}

이 소스는 실행 가능한 편집기가 아니라 원문을 보존한 참고 코드입니다.

데이터
해당 조건의 데이터 파일을 먼저 확인하고, 표본·단위·계수·신뢰구간을 함께 교체합니다. 표본이나 측정 수준이 다른 분석을 같은 척도로 합치지 않습니다.
그림
축 범위·라벨 폭·서체·색상은 실제 삽입 영역에 맞춥니다. 신뢰구간이 0을 포함하는지에 따라 의미를 보존하고, 화면을 줄인 뒤 다시 읽어 봅니다.
해석
관계도의 화살표와 통계 모형의 경로는 인과의 증거가 아닙니다. 평균 반응의 구간과 개별 예측구간, 점별 구간과 동시 구간을 구분합니다.