Main Content

Taguchi Designs

Introduction to Taguchi Designs

Many production processes involve both controllable (control) and uncontrollable (noise) factors that can affect the process response. For example, a control factor in an experiment might be the number of cylinders in an engine, whereas a noise factor might be the temperature of the operating environment. Taguchi designs, developed by Genichi Taguchi in the 1950s, offer a way to designate individual control and noise factors when formulating an experimental design. You can use a Taguchi design to identify the control factor settings that minimize the contribution of noise factors to the response mean and variance.

Taguchi designs are well suited for processes in which only a small number of factors have a significant impact on the response, and there are few interactions between the factors. Taguchi designs are also orthogonal, meaning they give equal weight to all factor levels. Because they are typically not full factorial designs, Taguchi designs are not suitable for experiments where all factor level combinations need to be evaluated.

Geiger Counter Example

As an example, suppose you want to design a Geiger counter in which the control factors are the thickness of the end-window (W), the thickness of the tube wall (C), and the anode voltage (V). The design involves two noise factors, the ambient temperature (T) and the background radiation level (R). The goal is to determine which control factor settings minimize the variance of the response. In the experiment, sample the following levels for each factor:

  • W — 1 mm and 2 mm

  • C — 1 mm, 2 mm, and 3 mm

  • V — 400 V, 500 V, and 600 V

  • T — 280 K and 310 K

  • R — 2 mSv and 7 mSv

Use the taguchiTypes function to return the allowable Taguchi design types for the inner (control) array and outer (noise) array. Also return the structure dinfo, which contains the factor information.

[types,noisetypes,dinfo] = taguchiTypes([1 2],[1 2 3],[400 500 600],[280 310],[2 7], ...
    FactorNames=["W","C","V","T","R"],NoiseFactors=["T","R"])
types = 
"L18"
noisetypes = 
"L4"
dinfo = struct with fields:
                Levels: {[1 2]  [1 2 3]  [400 500 600]  [280 310]  [2 7]}
    CategoricalFactors: []
           FactorNames: ["W"    "C"    "V"    "T"    "R"]
    ModelSpecification: "linear"
    NumLevelsPerFactor: [2 3 3 2 2]
          NoiseFactors: [4 5]
          ModelSpecSet: 0

The allowable design types for the inner and outer arrays are L18 and L4, respectively.

Create a taguchiDOE object using the factor information in dinfo, and display the first several design runs.

t = taguchiDOE(dinfo,"L18",NoiseDesignType="L4")
t = 
  taguchiDOE with properties:

                Design: [72×5 table]
    ModelSpecification: "1 + W + C + V"
                Levels: {[1 2]  [1 2 3]  [400 500 600]  [280 310]  [2 7]}
    CategoricalFactors: []
          NoiseFactors: [4 5]
            DesignType: ["L18"    "L4"]

D = t.Design
D=72×5 table
    W    C     V      T     R
    _    _    ___    ___    _

    1    1    400    280    2
    1    1    400    280    7
    1    1    400    310    2
    1    1    400    310    7
    1    1    500    280    2
    1    1    500    280    7
    1    1    500    310    2
    1    1    500    310    7
    1    1    600    280    2
    1    1    600    280    7
    1    1    600    310    2
    1    1    600    310    7
    1    2    400    280    2
    1    2    400    280    7
    1    2    400    310    2
    1    2    400    310    7
      ⋮

Each run in the design contains the level value for each factor.

Load the taguchiGeigerData data set, which contains a simulated measured response for each run.

load taguchiGeigerData.mat

Return a table of signal-to-noise ratio (SNR) information for the control factor settings.

snr(t,resp)
ans=8×5 table
    FactorName    FactorLevel     Mean      Std      nominal_SNR
    __________    ___________    ______    ______    ___________

       "W"           "1"         59.676    10.059      35.608   
       "W"           "2"         59.645    10.452      34.832   
       "C"           "1"         59.615    10.569      34.599   
       "C"           "2"         59.645     10.04      35.637   
       "C"           "3"         59.722    10.379      34.999   
       "V"           "400"       47.992    2.5982      58.324   
       "V"           "500"       59.605    3.3292        57.7   
       "V"           "600"       71.385    4.1102      57.092   

The table indicates that the setting of 400 V for the anode voltage yields the smallest standard deviation of the response and the highest nominal SNR.

Plot the SNR information for the control factors.

plotsnr(t,resp)

Figure contains 3 axes objects. Axes object 1 with xlabel W, ylabel Signal-To-Noise Ratio (nominal) contains an object of type line. Axes object 2 with xlabel C contains an object of type line. Axes object 3 with xlabel V contains an object of type line.

The plots indicate that a higher anode voltage setting results in a lower nominal SNR, regardless of the settings for the other two control factors.

See Also

| | |