Question 1167739: 3. A manufacturer of certain bearing presents the following data pertaining to the diameters of the bearing for 10 hourly samples of size 4:
Hour Coded sample values
1 1.7 2.2 1.9 1.2
2 0.8 1.5 2.1 0.9
3 1.0 1.4 1.0 1.3
4 0.4 -0.6 0.7 0.2
5 1.4 2.3 2.8 2.7
6 1.8 2.0 1.1 0.1
7 1.6 1.0 1.5 2.0
8 2.5 1.6 1.8 1.2
9 2.9 2.0 0.5 2.2
10 1.1 1.1 3.1 1.6
Use X and R chart to determine if the process is in statistical control.
Answer by CPhill(1959) (Show Source):
You can put this solution on YOUR website! ```python?code_reference&code_event_index=2
import pandas as pd
# Data provided
data = {
'Hour': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'Sample Values': [
[1.7, 2.2, 1.9, 1.2],
[0.8, 1.5, 2.1, 0.9],
[1.0, 1.4, 1.0, 1.3],
[0.4, -0.6, 0.7, 0.2],
[1.4, 2.3, 2.8, 2.7],
[1.8, 2.0, 1.1, 0.1],
[1.6, 1.0, 1.5, 2.0],
[2.5, 1.6, 1.8, 1.2],
[2.9, 2.0, 0.5, 2.2],
[1.1, 1.1, 3.1, 1.6]
]
}
# Create a DataFrame for easier manipulation
df = pd.DataFrame(data)
# Subgroup size
n = 4
# --- Step 1 & 2: Calculate subgroup means (X_bar) and ranges (R) ---
df['X_bar'] = df['Sample Values'].apply(lambda x: sum(x) / n)
df['R'] = df['Sample Values'].apply(lambda x: max(x) - min(x))
# --- Step 3 & 4: Calculate grand mean (X_double_bar) and average range (R_bar) ---
X_double_bar = df['X_bar'].mean()
R_bar = df['R'].mean()
print("Subgroup Means and Ranges:")
print(df[['Hour', 'X_bar', 'R']])
print(f"\nGrand Mean (X_double_bar): {X_double_bar:.3f}")
print(f"Average Range (R_bar): {R_bar:.3f}")
# --- Step 5 & 6: Calculate Control Limits ---
# Control chart constants for n=4
A2 = 0.729
D3 = 0
D4 = 2.282
# R-chart control limits
UCL_R = D4 * R_bar
LCL_R = D3 * R_bar
# X-bar chart control limits
UCL_Xbar = X_double_bar + A2 * R_bar
LCL_Xbar = X_double_bar - A2 * R_bar
print("\nControl Limits for R-chart:")
print(f" UCL_R: {UCL_R:.3f}")
print(f" LCL_R: {LCL_R:.3f}")
print("\nControl Limits for X-bar chart:")
print(f" UCL_Xbar: {UCL_Xbar:.3f}")
print(f" LCL_Xbar: {LCL_Xbar:.3f}")
# --- Step 7 & 8: Determine if the process is in statistical control ---
# Check R-chart for out-of-control points
out_of_control_R = df[(df['R'] > UCL_R) | (df['R'] < LCL_R)]
print("\n--- R-chart Analysis ---")
if not out_of_control_R.empty:
print("Out-of-control points found in R-chart:")
print(out_of_control_R[['Hour', 'R']])
else:
print("No out-of-control points found in R-chart.")
# Check X-bar chart for out-of-control points
out_of_control_Xbar = df[(df['X_bar'] > UCL_Xbar) | (df['X_bar'] < LCL_Xbar)]
print("\n--- X-bar chart Analysis ---")
if not out_of_control_Xbar.empty:
print("Out-of-control points found in X-bar chart:")
print(out_of_control_Xbar[['Hour', 'X_bar']])
else:
print("No out-of-control points found in X-bar chart.")
# Overall conclusion
print("\n--- Overall Process Control Status ---")
if out_of_control_R.empty and out_of_control_Xbar.empty:
print("Based on the X-bar and R charts, the process appears to be in statistical control.")
else:
print("Based on the X-bar and/or R charts, the process is NOT in statistical control due to points outside control limits.")
```
```text?code_stdout&code_event_index=2
Subgroup Means and Ranges:
Hour X_bar R
0 1 1.750 1.0
1 2 1.325 1.3
2 3 1.175 0.4
3 4 0.175 1.3
4 5 2.300 1.4
5 6 1.250 1.9
6 7 1.525 1.0
7 8 1.775 1.3
8 9 1.900 2.4
9 10 1.725 2.0
Grand Mean (X_double_bar): 1.490
Average Range (R_bar): 1.400
Control Limits for R-chart:
UCL_R: 3.195
LCL_R: 0.000
Control Limits for X-bar chart:
UCL_Xbar: 2.511
LCL_Xbar: 0.469
--- R-chart Analysis ---
No out-of-control points found in R-chart.
--- X-bar chart Analysis ---
Out-of-control points found in X-bar chart:
Hour X_bar
3 4 0.175
--- Overall Process Control Status ---
Based on the X-bar and/or R charts, the process is NOT in statistical control due to points outside control limits.
```
To determine if the process is in statistical control, we will construct an X-bar chart and an R chart.
**Given Data:**
| Hour | Sample Values |
| :--- | :------------ |
| 1 | 1.7, 2.2, 1.9, 1.2 |
| 2 | 0.8, 1.5, 2.1, 0.9 |
| 3 | 1.0, 1.4, 1.0, 1.3 |
| 4 | 0.4, -0.6, 0.7, 0.2 |
| 5 | 1.4, 2.3, 2.8, 2.7 |
| 6 | 1.8, 2.0, 1.1, 0.1 |
| 7 | 1.6, 1.0, 1.5, 2.0 |
| 8 | 2.5, 1.6, 1.8, 1.2 |
| 9 | 2.9, 2.0, 0.5, 2.2 |
| 10 | 1.1, 1.1, 3.1, 1.6 |
The subgroup size ($n$) is 4.
**1. Calculate Subgroup Means ($\\bar{X}$) and Ranges (R):**
| Hour | Sample Values | $\\bar{X}$ (Mean) | R (Range) |
| :--- | :----------------- | :--------------- | :-------- |
| 1 | 1.7, 2.2, 1.9, 1.2 | 1.750 | 1.0 |
| 2 | 0.8, 1.5, 2.1, 0.9 | 1.325 | 1.3 |
| 3 | 1.0, 1.4, 1.0, 1.3 | 1.175 | 0.4 |
| 4 | 0.4, -0.6, 0.7, 0.2 | 0.175 | 1.3 |
| 5 | 1.4, 2.3, 2.8, 2.7 | 2.300 | 1.4 |
| 6 | 1.8, 2.0, 1.1, 0.1 | 1.250 | 1.9 |
| 7 | 1.6, 1.0, 1.5, 2.0 | 1.525 | 1.0 |
| 8 | 2.5, 1.6, 1.8, 1.2 | 1.775 | 1.3 |
| 9 | 2.9, 2.0, 0.5, 2.2 | 1.900 | 2.4 |
| 10 | 1.1, 1.1, 3.1, 1.6 | 1.725 | 2.0 |
**2. Calculate the Grand Mean ($\\bar{\\bar{X}}$) and Average Range ($\\bar{R}$):**
* **Grand Mean ($\\bar{\\bar{X}}$):** Average of all subgroup means
$\\bar{\\bar{X}} = (1.750 + 1.325 + 1.175 + 0.175 + 2.300 + 1.250 + 1.525 + 1.775 + 1.900 + 1.725) / 10 = 14.900 / 10 = 1.490$
* **Average Range ($\\bar{R}$):** Average of all subgroup ranges
$\\bar{R} = (1.0 + 1.3 + 0.4 + 1.3 + 1.4 + 1.9 + 1.0 + 1.3 + 2.4 + 2.0) / 10 = 14.0 / 10 = 1.400$
**3. Determine Control Chart Constants for n=4:**
From control chart tables for subgroup size $n=4$:
* $A\_2 = 0.729$
* $D\_3 = 0$
* $D\_4 = 2.282$
**4. Calculate Control Limits for the R-chart:**
* **Center Line (CL\_R):** $\\bar{R} = 1.400$
* **Upper Control Limit (UCL\_R):** $D\_4 \\times \\bar{R} = 2.282 \\times 1.400 = 3.1948 \\approx 3.195$
* **Lower Control Limit (LCL\_R):** $D\_3 \\times \\bar{R} = 0 \\times 1.400 = 0.000$
**5. Calculate Control Limits for the X-bar chart:**
* **Center Line (CL\_Xbar):** $\\bar{\\bar{X}} = 1.490$
* **Upper Control Limit (UCL\_Xbar):** $\\bar{\\bar{X}} + A\_2 \\times \\bar{R} = 1.490 + 0.729 \\times 1.400 = 1.490 + 1.0206 = 2.5106 \\approx 2.511$
* **Lower Control Limit (LCL\_Xbar):** $\\bar{\\bar{X}} - A\_2 \\times \\bar{R} = 1.490 - 0.729 \\times 1.400 = 1.490 - 1.0206 = 0.4694 \\approx 0.469$
**Summary of Control Limits:**
| Chart | Center Line | UCL | LCL |
| :----- | :---------- | :---- | :---- |
| R-chart | 1.400 | 3.195 | 0.000 |
| X-bar | 1.490 | 2.511 | 0.469 |
**6. Determine if the process is in statistical control:**
* **R-chart Analysis:**
* Examine the 'R' column in the table above. All R values (from 0.4 to 2.4) are within the R-chart control limits (0.000 to 3.195).
* **Conclusion for R-chart: The process range (variability) appears to be in statistical control.**
* **X-bar chart Analysis:**
* Examine the '$\\bar{X}$' column in the table above.
* We compare each subgroup mean to the X-bar chart control limits (0.469 to 2.511).
* For Hour 4, the mean is $0.175$. This value is below the LCL\_Xbar of $0.469$.
* **Conclusion for X-bar chart: The process average (mean) is NOT in statistical control because the mean for Hour 4 ($0.175$) falls below the Lower Control Limit.**
**Overall Conclusion:**
Based on the analysis of both the X-bar and R charts, the process for the bearing diameters is **NOT in statistical control**. The presence of an out-of-control point in the X-bar chart (Hour 4) indicates that there is an assignable cause of variation that needs to be investigated and eliminated.
|
|
|