---
title: 組立ラインの寸法誤差分析
description: 自動車部品の寸法検査データを使い、ライン間の差を ANOVA で推定し、環境要因の寄与を線形回帰で分析します。Statistics タブでの探索から Report タブでの結果整理まで、一連のワークフローを扱います。
priority: 0.6
---

# チュートリアル: 組立ラインの寸法誤差分析 {#tutorial-manufacturing-dimension-error}

グラフでパターンを探し、ANOVA と線形回帰で定量化する流れを、製造業の検査データで扱います。

自動車部品の組立工場に 3 つのライン A, B, C があり、完成品の寸法を検査しています。現場から「ライン B の寸法誤差が大きいのではないか」という報告がありますが、温度や湿度などの環境条件も日によって変わるため、ラインの違いが本当に効いているのか、環境条件の影響なのかが切り分けられていません。300 件の検査記録から、ライン間の差と環境要因の寄与を切り分けます。

## データを読み込む {#load-the-data}

ランチャー画面の Sample Data セクションから **Assembly Line** をクリックすると、300 行 7 列のデータが読み込まれます。

[この状態を MIDAS で開く](../shared/files/tutorial-manufacturing-data.mds)

| 列名 | 内容 |
|------|------|
| `line` | 組立ライン（A / B / C） |
| `shift` | シフト（Day / Night） |
| `operator` | オペレータ ID（Op1 -- Op5） |
| `temperature` | 作業環境温度（°C） |
| `humidity` | 湿度（%） |
| `cycle_time` | サイクルタイム（秒） |
| `dimension_error` | 目標寸法からの誤差（mm） |

`dimension_error` が応答変数です。値が小さいほど目標寸法に近く、品質が高いことを意味します。

## グラフでパターンを探す {#explore-with-graphs}

Data Table タブで `dimension_error` 列をクリックすると、Statistics タブにヒストグラムと統計量が表示されます。全体の平均は約 0.116 mm、標準偏差は約 0.039 mm です。

<img src="../shared/images/tutorial-manufacturing-stats-overall.webp" alt="Statistics タブで dimension_error 全体の統計量を表示" style="max-width: 820px; width: 100%; display: block; margin: 0 auto;">

**Show stats by** ドロップダウンから `line` を選択すると、ライン別の統計量に切り替わります。ライン B の平均が A や C より高いことが確認できます。

<img src="../shared/images/tutorial-manufacturing-stats-by-line.webp" alt="Statistics タブでライン別の dimension_error を表示" style="max-width: 820px; width: 100%; display: block; margin: 0 auto;">

Statistics タブではライン別の統計量を1グループずつ確認しました。Graph Builder の Faceted 表示で同じ軸に並べると、分布の位置関係が一目で分かります。**Analysis > Graph Builder...** から Histogram を作成し、`dimension_error` を Column、`line` を Group By に設定して **Faceted**、**Columns** を `1` にします。

![Histogram の Grouping 設定：Faceted、Columns=1](../shared/images/tutorial-manufacturing-histogram-faceted-settings.webp)

スクロールするとライン A, B, C のヒストグラムが縦に並んでいます。

![ライン別の dimension_error ヒストグラム（Faceted 表示、縦1列）](../shared/images/tutorial-manufacturing-histogram-faceted.webp)

ライン B のヒストグラムが右にずれています。A と C は似た位置に分布しています。

次に環境条件との関係を探します。Graph Builder で Scatter Plot を作成し、X に `temperature`、Y に `dimension_error`、Color に `line` を設定します。

![temperature × dimension_error の散布図（line で色分け）](../shared/images/tutorial-manufacturing-scatter-temp.webp)

温度が高い領域で寸法誤差が大きくなる傾向が見えます。同じ温度帯でもライン B の点が上寄りに位置しています。

ここで「ライン B の誤差が大きいのは、B だけ温度が高いからではないか」という疑問が浮かびます。しかし散布図の色分けを見ると、どの色の点も X 軸方向（温度）の同じ範囲に広がっており、特定のラインだけ高温帯に偏っていません。ライン B の誤差が大きいことと温度が高いことは別の現象です。

ここまでの探索で 2 つの独立したパターンが見えました。ライン B の誤差が大きいこと、温度と誤差に正の関係がありそうなことです。これらを定量的に評価します。

## ANOVA でライン間の差を推定する {#estimate-line-differences}

グラフではライン B の寸法誤差が大きそうに見えますが、具体的に何 mm 大きいのか、その推定がどの程度確かなのかはグラフからは読み取れません。ANOVA で各ラインの平均差を信頼区間付きで推定します。

データには `shift` や `operator` もありますが、まずはライン間の差に絞って確認します。**Analysis > ANOVA...** を開き、One-Way で `line` を Factor、`dimension_error` を Response に設定して実行します。

![Group Statistics テーブル](../shared/images/tutorial-manufacturing-anova-groups.webp)

群ごとの平均と 95% 信頼区間が表示されます。ライン B の平均は約 0.144 mm で、A（約 0.098 mm）や C（約 0.105 mm）より高い値です。

具体的に何 mm の差があるかを見ます。[Tukey HSD](anova#tukey-hsd-post-hoc-comparisons) は全ペアの平均差を同時信頼区間付きで推定します。

![Tukey HSD の結果](../shared/images/tutorial-manufacturing-tukey.webp)

| ペア | 差（mm） | 方向 |
|------|----------|------|
| A -- B | 約 -0.046 | B が大きい |
| A -- C | 約 -0.007 | ほぼ同じ |
| B -- C | 約 +0.039 | B が大きい |

A -- B と B -- C の信頼区間は 0 をまたがず、ライン B と他ラインの差は推定精度の範囲で安定しています。A -- C の信頼区間は 0 をまたいでおり、差の方向すら確定できません。

ただしライン間の差がすべてではありません。ANOVA Table を見ると、η² は約 0.24 で、寸法誤差の全分散のうちライン間の違いで説明されるのは約 24% です。残りの約 76% は同じライン内のばらつき——環境条件の違いや測定のばらつきなど——に帰属します。

![ANOVA テーブル](../shared/images/tutorial-manufacturing-anova-table.webp)

残りの 76% には温度や湿度などの環境条件が含まれている可能性があり、次のセクションで回帰分析を使ってライン効果と環境要因を同時に評価します。その前に、ANOVA の仮定から大きく逸脱していないかを確認します。Assumption Diagnostics セクションの Q-Q プロットで残差が対角線にほぼ沿っていれば、正規性からの明らかな逸脱はありません。各ラインの SD もほぼ同程度（0.035 -- 0.038）で、等分散性について大きな懸念はありません。

![ANOVA の Q-Q プロット](../shared/images/tutorial-manufacturing-anova-diagnostics.webp)

## 回帰分析でライン効果と環境要因をまとめて評価する {#regression-analysis}

ANOVA ではラインの違いだけを見ましたが、環境変数の寄与はまだ分かりません。回帰分析で、ライン効果と環境要因を 1 つのモデルに入れて同時に推定します。

OLS の Predictor は数値列しか受け付けないため、`line`（A/B/C）を 0/1 の列に変換します。**Data > Dummy Coding...** を開き、`line` の Action を **Dummy code** に設定します。Reference を A にすると、A を基準として「B かどうか」（`line_B`）と「C かどうか」（`line_C`）の 2 列が生成されます。A の列は不要です — 両方とも 0 なら A だと分かるためです。

![Dummy Coding の設定](../shared/images/tutorial-manufacturing-dummy-coding.webp)

変換後のデータセットで **Analysis > Linear Regression (OLS)...** を開き、`dimension_error` を Response、`line_B`・`line_C`・`temperature`・`humidity`・`cycle_time` を Predictor に設定します。

![OLS の設定：Dummy Coded データセット、5 変数を Predictor に選択](../shared/images/tutorial-manufacturing-regression-form.webp)

**Run Analysis** で実行します。

![Model Summary](../shared/images/tutorial-manufacturing-regression-summary.webp)

R-squared は約 0.71 で、ライン効果と環境変数を合わせて `dimension_error` の分散の約 71% を説明できます。

### 係数の解釈 {#interpret-coefficients}

![係数テーブル](../shared/images/tutorial-manufacturing-regression-coef.webp)

**line_B** の係数は約 +0.046 mm で、ライン A と比較して B の寸法誤差が平均 0.046 mm 大きいという推定です。Tukey HSD の A -- B 差とほぼ同じ値で、環境変数を制御しても結果が安定しています。**line_C** の係数は約 +0.006 mm で信頼区間が 0 付近をまたいでおり、A との差は小さいと推定されます。

**temperature** の係数は約 +0.013 mm/°C で、温度が 1°C 上がると寸法誤差が平均 0.013 mm 増える推定です。環境変数の中では標準化係数（Std. Coef.）が最も大きく、温度の寄与が支配的です。

**cycle_time** の係数は約 -0.003 mm/秒です。サイクルタイムが長い観測ほど誤差が小さい傾向にあります。

**humidity** の係数は 0.001 と小さく、寄与はわずかです。

[VIF](linear-regression#notes-multicollinearity) はいずれも低く、多重共線性の問題はありません。

### 診断プロットの確認 {#regression-diagnostics}

これらの係数と信頼区間は、残差の正規性・等分散性・線形性が成り立つことを前提としています。モデルに名前を付けて **Save Model** → **View Diagnostics** で診断プロットを確認します。

![診断プロット](../shared/images/tutorial-manufacturing-regression-diagnostics.webp)

Residuals vs Fitted で残差がゼロ付近にランダムに散らばっていれば、線形性からの明らかな逸脱はありません。漏斗状のパターンがあれば不等分散を疑います。Normal Q-Q で標準化残差が対角線にほぼ沿っていれば、正規性からの大きな逸脱はありません。Scale-Location で $\sqrt{|r_i^*|}$ に系統的な傾向がなければ、分散の不均一性は目立ちません。Residuals vs Leverage で Cook's Distance の等高線（0.5 と 1.0）の外側に点がなければ、推定を大きく歪める外れ値はありません。各プロットの読み方と問題時の対処は [Linear Regression の診断プロット](linear-regression#residual-diagnostics)を参照してください。

## まとめ {#summary}

当初の問い「ライン B の寸法誤差は本当に大きいのか」に対して、分かったことを整理します。

- ライン B の寸法誤差はライン A より平均 0.046 mm 大きく、環境変数を制御しても推定が安定している（回帰の line_B 係数と Tukey HSD がほぼ一致）。A と C の間に明確な差はない
- ただしライン間の差は全分散の約 24% にとどまる。寸法誤差のばらつきはライン以外の要因に大きく依存している
- ライン B の誤差が大きい原因は環境条件の偏り（B だけ温度が高い等）ではない。回帰モデルで環境変数を制御しても line_B の係数が残っており、ライン固有の要因が存在する
- 環境要因のうち温度との関連が最も強く（1°C あたり約 0.013 mm）、サイクルタイムとも負の関連がある。温度管理やサイクルタイムの見直しが誤差低減につながるかは、介入実験で確認する必要がある

## この分析の注意点 {#exploratory-nature}

この分析はデータを見てから着目点を決めた探索的分析です。グラフで「ライン B が大きそうだ」と気づいてから ANOVA で推定し、散布図で「温度と関係がありそうだ」と気づいてから回帰を当てはめました。手元のデータでたまたま目立ったパターンを追いかけているため、別のデータを取ったら今度は湿度が効いている、といった結果になる可能性があります。ここで得られた知見に信憑性を持たせるには、推定する効果（line_B の差、温度の寄与など）を事前に決めた上で新たにデータを収集し、推定が再現されるかを確認してください。

## レポートの紹介 {#report}

グラフや分析結果は **Add to Report** で Report タブにまとめられます。この分析の結果をレポートにまとめるとこのような形になります。

<app-demo src="../shared/files/tutorial-manufacturing-data.mds" embed report-name="Analysis Summary" height="600"></app-demo>

## 関連ページ {#related-pages}

- [ANOVA（分散分析）](anova) -- ANOVA タブの詳細な使い方、二元配置 ANOVA、平方和のタイプ
- [Linear Regression（線形回帰分析）](linear-regression) -- 係数テーブル、診断プロット、予測区間の詳細
- [グラフの作成](graph-basics) -- Graph Builder で作成できるグラフの種類
- [レポート](report) -- Report タブの操作方法
