CEQ

Guilherme

12/02/2023

Introdução

data = as.data.frame(ss.data.density, row.names = c(seq(1, 24, 1)))
colnames(data) = c('pdensity')

#FERRAMENTA 1
cc = qcc(data = data$pdensity, type = "xbar.one")

summary(cc)
## 
## Call:
## qcc(data = data$pdensity, type = "xbar.one")
## 
## xbar.one chart for data$pdensity 
## 
## Summary of group statistics:
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## 10.54700 10.59610 10.69200 10.73415 10.78940 11.10230 
## 
## Group sample size:  1
## Number of groups:  24
## Center of group statistics:  10.73415
## Standard deviation:  0.09433395 
## 
## Control limits:
##       LCL      UCL
##  10.45115 11.01716

D

inputs.overall = c("máquinas", "biomassa")
outputs.overall = c("Densidade", "Durabilidade", "Seco")
steps = c("Picar", "Secar", "Moer", "Comprimir e cortar")

io = list()
io[[1]] = list("Toras de madeira", "Picador")
io[[2]] = list("Fornalha")
io[[3]] = list("Maravalha", "Moinho de martelo")
io[[4]] = list("Compressor", "Pó")

param = list()
param[[1]] = list(c("Tipo de biomassa", "P"), c("Operador", "N"))
param[[2]] = list(c("Calor", "C"), c("Tipo de biomassa", "P"), c("Operador", "N"))
param[[3]] = list(c("Velocidade", "C"), c("Tipo de biomassa", "P"), c("Operador", "N"))
param[[4]] = list(c("Lâmina", "C"), c("Pressão", "Cr"), c("Tipo de biomassa", "P"), c("Operador", "N"))

feat = list()
feat[[1]] = list("Tamanho")
feat[[2]] = list("Umidade")
feat[[3]] = list("Uniformidade")
feat[[4]] = list("Densidade", "Durabilidade", "Seco")

ss.pMap(steps, inputs.overall, outputs.overall, io, param, feat, sub="Projeto para produção de Pellet de madeira")

M

#FERRAMENTA 2

cManpower = c("Recepcionista", "Operadores dos registros", "Operadores do estoque")
cMaterials = c("Fornecedor", "Transporte", "Empacotamento")
cMachines = c("Tipo de compressor", "Condições operacionais", "Ajuste das máquinas")
cMethods = c("Recepção", "Método de transporte")
cMeasurements = c("Método de registro", "Estimativa da medida")
cGroups = c("Ação humana", "Materiais", "Máquinas", "Métodos", "Medidas")
cEffect = "Densidade fora do padrão"

ss.ceDiag(effect = cEffect, causes.gr = cGroups, causes = list(cManpower, cMaterials, cMachines, cMethods, cMeasurements),
main = "Diagrama de Causa e Efeito", sub = "Densidade de Pellets")

#FERRAMENTA 3

data_checkSheet = rbind(data.frame(Group = "Ação humana", Cause = cManpower), data.frame(Group = "Máquinas", Cause = cMachines),
data.frame(Group = "Materiais", Cause = cMaterials), data.frame(Group = "Métodos", Cause = cMethods), data.frame(Group = "Medidas", Cause = cMeasurements))

data_checkSheet$A_supplier = NA
data_checkSheet$B_supplier = NA
data_checkSheet$C_supplier = NA
  
data_checkSheet
##          Group                    Cause A_supplier B_supplier C_supplier
## 1  Ação humana            Recepcionista         NA         NA         NA
## 2  Ação humana Operadores dos registros         NA         NA         NA
## 3  Ação humana    Operadores do estoque         NA         NA         NA
## 4     Máquinas       Tipo de compressor         NA         NA         NA
## 5     Máquinas   Condições operacionais         NA         NA         NA
## 6     Máquinas      Ajuste das máquinas         NA         NA         NA
## 7    Materiais               Fornecedor         NA         NA         NA
## 8    Materiais               Transporte         NA         NA         NA
## 9    Materiais            Empacotamento         NA         NA         NA
## 10     Métodos                 Recepção         NA         NA         NA
## 11     Métodos     Método de transporte         NA         NA         NA
## 12     Medidas       Método de registro         NA         NA         NA
## 13     Medidas     Estimativa da medida         NA         NA         NA
#FERRAMENTA 4

data_checkSheet$A_supplier <- c(2, 0, 0, 2, 1, 7, 1, 3, 6, 0, 1, 2, 0)
data_checkSheet$B_supplier <- c(0, 0, 1, 1, 2, 1, 12, 1, 2, 1, 0, 0, 1)
data_checkSheet$C_supplier <- c(0, 1, 0, 6, 0, 2, 2, 4, 3, 0, 1, 0, 2)
data_checkSheet$Total <- data_checkSheet$A_supplier +
data_checkSheet$B_supplier +
data_checkSheet$C_supplier

data_pareto <- data_checkSheet[order(data_checkSheet$Total,
decreasing = TRUE), ]
data_pareto2 <- data_pareto$Total
names(data_pareto2) <- data_pareto$Cause
pareto.chart(data_pareto2, main = "Causas fora do controle", col=heat.colors(length(data_pareto2)))

##                           
## Pareto chart analysis for data_pareto2
##                             Frequency  Cum.Freq. Percentage Cum.Percent.
##   Fornecedor                15.000000  15.000000  22.058824    22.058824
##   Empacotamento             11.000000  26.000000  16.176471    38.235294
##   Ajuste das máquinas       10.000000  36.000000  14.705882    52.941176
##   Tipo de compressor         9.000000  45.000000  13.235294    66.176471
##   Transporte                 8.000000  53.000000  11.764706    77.941176
##   Condições operacionais     3.000000  56.000000   4.411765    82.352941
##   Estimativa da medida       3.000000  59.000000   4.411765    86.764706
##   Recepcionista              2.000000  61.000000   2.941176    89.705882
##   Método de transporte       2.000000  63.000000   2.941176    92.647059
##   Método de registro         2.000000  65.000000   2.941176    95.588235
##   Operadores dos registros   1.000000  66.000000   1.470588    97.058824
##   Operadores do estoque      1.000000  67.000000   1.470588    98.529412
##   Recepção                   1.000000  68.000000   1.470588   100.000000
Operador<- factor(rep(1:2, each = 12))
Medidor<- factor(rep(rep(1:3, each = 4), 2))
Medicao<- factor(rep(1:4, 6))

rr<-data.frame(Operador,Medidor,Medicao,data$pdensity)

my.rr <- ss.rr(var = data.pdensity, part = Medidor,
               appr = Operador,
               data = rr,
               main = "R&R Measure",
               )
## Complete model (with interaction):
## 
##                  Df Sum Sq Mean Sq F value Pr(>F)
## Medidor           2 0.0060 0.00300   0.031 0.9699
## Operador          1 0.0103 0.01027   0.106 0.7753
## Medidor:Operador  2 0.1932 0.09662   3.991 0.0368
## Repeatability    18 0.4358 0.02421               
## Total            23 0.6453                       
## 
## alpha for removing interaction: 0.05 
## 
## Gage R&R
## 
##                      VarComp %Contrib
## Total Gage R&R    0.04231293   100.00
##   Repeatability   0.02421150    57.22
##   Reproducibility 0.01810144    42.78
##     Operador      0.00000000     0.00
## Medidor:Operador  0.01810144    42.78
## Part-To-Part      0.00000000     0.00
## Total Variation   0.04231293   100.00
## 
##                      StdDev  StudyVar %StudyVar
## Total Gage R&R    0.2057011 1.2342065    100.00
##   Repeatability   0.1556004 0.9336026     75.64
##   Reproducibility 0.1345416 0.8072495     65.41
##     Operador      0.0000000 0.0000000      0.00
## Medidor:Operador  0.1345416 0.8072495     65.41
## Part-To-Part      0.0000000 0.0000000      0.00
## Total Variation   0.2057011 1.2342065    100.00
## 
## Number of Distinct Categories = 1

ss.ca.cp(data$pdensity, cc$limits[1], cc$limits[2])
## [1] 0.5631814
ss.ca.cpk(data$pdensity, cc$limits[1], cc$limits[2])
## [1] 0.5631814
ss.study.ca(data$pdensity,
            cc$limits[1],
            cc$limits[2],
            Target = cc$center,
            alpha = 0.5
            )

A

#FERRAMENTA 5

hist(data$pdensity, main = "Histograma da densidade dos pellets", sub = "Dados do processo de cerâmica", xlab = expression("Densidade (g"/"cm"^3*")"), ylab = "Frequência", col = "steelblue", border = "white", lwd = 1, las = 1, bg = "gray")

#FERRAMENTA 6

set.seed(12345)

ptemp <- 15*data$pdensity + rnorm(24) - 140
plot(data$pdensity ~ ptemp, col = "gray40", pch = 20, main = "Densidade dos Pellets  vs. temperatura", xlab = "Temperatura (Celsius)", ylab = expression("Densidade ("*g/cm^3*")"))

shapiro.test(data$pdensity)
## 
##  Shapiro-Wilk normality test
## 
## data:  data$pdensity
## W = 0.85606, p-value = 0.002839
shapiro.test(ptemp)
## 
##  Shapiro-Wilk normality test
## 
## data:  ptemp
## W = 0.86424, p-value = 0.004065
correlacao = cor.test(data$pdensity, ptemp)
correlacao
## 
##  Pearson's product-moment correlation
## 
## data:  data$pdensity and ptemp
## t = 13.666, df = 22, p-value = 3.153e-12
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.8770951 0.9766109
## sample estimates:
##      cor 
## 0.945838
#FERRAMENTA 7

psupplier = rep(c("A", "B", "C"), each = 8)

boxplot(data$pdensity ~ psupplier, col = "gray70", xlab = "Fornecedor", ylab = expression("Densidade ("*g/cm^3),        main = "Boxplots por fornecedor")

I

data_modelo = data.frame(matrix(ncol = 4, nrow = 16))
colnames(data_modelo) = c("Temperatura", "Material", "Pressão", "Densidades")

# definir os fatores que serão estudados
fator1 = c(">25°C", "<25°C")
fator2 = c("Madeira", "Bambu")
fator3 = c("Maior", "Menor")

# criar todas as possíveis combinações de níveis de fator
comb.fatores = expand.grid(fator1, fator2, fator3)

# adicionar as combinações de níveis de fator ao dataframe
data_modelo$Temperatura = comb.fatores[,1]
data_modelo$Material = comb.fatores[,2]
data_modelo$Pressão = comb.fatores[,3]

data_modelo$Densidades = scale(c(5.33, 6.99, 4.23, 6.61,
                     2.26, 5.75, 3.26, 6.24,
                     5.7, 7.71, 5.13, 6.76,
                     2.79, 4.57, 2.48, 6.18)
                   )*sd(data$pdensity) + mean(data$pdensity)

# ajustar um modelo linear aos dados
modelo = lm(Densidades ~ Temperatura + Material + Pressão + Temperatura*Material + Temperatura*Pressão + Material*Pressão, data = data_modelo)

summary(modelo)
## 
## Call:
## lm(formula = Densidades ~ Temperatura + Material + Pressão + 
##     Temperatura * Material + Temperatura * Pressão + Material * 
##     Pressão, data = data_modelo)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.064683 -0.025818  0.002216  0.032034  0.051513 
## 
## Coefficients:
##                                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                    10.77920    0.03038 354.806  < 2e-16 ***
## Temperatura<25°C                0.16752    0.03978   4.212  0.00227 ** 
## MaterialBambu                  -0.09539    0.03978  -2.398  0.04002 *  
## PressãoMenor                   -0.30760    0.03978  -7.733  2.9e-05 ***
## Temperatura<25°C:MaterialBambu  0.04308    0.04593   0.938  0.37276    
## Temperatura<25°C:PressãoMenor   0.10512    0.04593   2.289  0.04788 *  
## MaterialBambu:PressãoMenor      0.14254    0.04593   3.103  0.01266 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.04593 on 9 degrees of freedom
## Multiple R-squared:  0.9549, Adjusted R-squared:  0.9248 
## F-statistic: 31.75 on 6 and 9 DF,  p-value: 1.459e-05
modelo2 = lm(Densidades ~ Temperatura + Pressão, data = data_modelo)

summary(modelo2)
## 
## Call:
## lm(formula = Densidades ~ Temperatura + Pressão, data = data_modelo)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.08352 -0.05351  0.00597  0.04373  0.08561 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      10.70523    0.02745 390.014  < 2e-16 ***
## Temperatura<25°C  0.24162    0.03169   7.624 3.78e-06 ***
## PressãoMenor     -0.18377    0.03169  -5.798 6.19e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.06339 on 13 degrees of freedom
## Multiple R-squared:  0.8759, Adjusted R-squared:  0.8568 
## F-statistic: 45.87 on 2 and 13 DF,  p-value: 1.288e-06

\(Densidade = 10.70523 + 0.24162*Temperatura - 0.18377*Pressão\)

C

#Carta tipo "u" supondo uma sequência de 80 dias com suas respectivas quantidades de itens defeituosos
with(ss.data.pb4, plot(qcc(defects, sizes = rep(1, 80), type = "u")))