# Análisis de los datos obtenidos

Compararación de tres filamentos distintos

• Filamento de BQ
• Filamento de formfutura
• Filamento de filastriuder
``````

In [1]:

%pylab inline
import numpy as np
import pandas as pd
import seaborn as sns

``````
``````

Populating the interactive namespace from numpy and matplotlib

``````
``````

In [2]:

print ("Numpy v{}".format(np.__version__))
print ("Pandas v{}".format(pd.__version__))
print ("Seaborn v{}".format(sns.__version__))

``````
``````

Numpy v1.9.2
Pandas v0.16.2
Seaborn v0.6.0

``````
``````

In [11]:

#Abrimos los ficheros con los datos

``````
``````

In [26]:

columns=['bq','formfutura','filastruder']

``````
``````

In [27]:

#Mostramos un resumen de los datos obtenidoss
conclusiones[columns].describe()

``````
``````

Out[27]:

bq
formfutura
filastruder

count
291.000000
291.000000
291.000000

mean
1.758832
1.701546
1.742131

std
0.017870
0.057691
0.215783

min
1.670000
1.640000
1.010000

25%
1.750000
1.680000
1.600000

50%
1.760000
1.690000
1.800000

75%
1.770000
1.710000
1.910000

max
1.800000
2.480000
2.140000

``````

Representamos ambos diámetro y la velocidad de la tractora en la misma gráfica

``````

In [1]:

graf=conclusiones[columns].plot(figsize=(16,10),ylim=(1.5,2.5))
graf.axhspan(1.65,1.85, alpha=0.2)
#datos['RPM TRAC'].plot(secondary_y='RPM TRAC')

``````
``````

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-409885f66bc3> in <module>()
----> 1 graf=conclusiones[columns].plot(figsize=(16,10),ylim=(1.5,2.5)).hlines([1.85,1.65],0,3500,colors='r')
2 graf.axhspan(1.65,1.85, alpha=0.2)
3 #datos['RPM TRAC'].plot(secondary_y='RPM TRAC')

NameError: name 'conclusiones' is not defined

``````
``````

In [24]:

conclusiones[columns].boxplot(return_type='axes')

``````
``````

Out[24]:

<matplotlib.axes._subplots.AxesSubplot at 0xa2d00f0>

``````

Aumentando la velocidad se ha conseguido que disminuya el valor máxima, sin embargo ha disminuido el valor mínimo. Para la siguiente iteracción, se va a volver a las velocidades de 1.5- 3.4 y se van a añadir más reglas con unos incrementos de velocidades menores, para evitar saturar la velocidad de traccción tanto a nivel alto como nivel bajo.

Comparativa de Diametro X frente a Diametro Y para ver el ratio del filamento

Las muestras tomadas \$d_x >= 0.9\$ or \$d_y >= 0.9\$ las asumimos como error del sensor, por ello las filtramos de las muestras tomadas.

``````

In [28]:

datos_filtrados = datos[(datos['Diametro X'] >= 0.9) & (datos['Diametro Y'] >= 0.9)]

``````
``````

In [29]:

``````

## Representación de X/Y

``````

In [30]:

``````
``````

Out[30]:

<matplotlib.collections.PathCollection at 0x13c4d110>

``````

# Analizamos datos del ratio

``````

In [31]:

ratio.describe()

``````
``````

Out[31]:

count    717.000000
mean       1.052009
std        0.204253
min        0.616384
25%        0.916724
50%        1.030142
75%        1.140996
max        1.689048
dtype: float64

``````
``````

In [32]:

rolling_mean = pd.rolling_mean(ratio, 50)
rolling_std = pd.rolling_std(ratio, 50)
rolling_mean.plot(figsize=(12,6))
# plt.fill_between(ratio, y1=rolling_mean+rolling_std, y2=rolling_mean-rolling_std, alpha=0.5)
ratio.plot(figsize=(12,6), alpha=0.6, ylim=(0.5,1.5))

``````
``````

Out[32]:

<matplotlib.axes._subplots.AxesSubplot at 0x13c36130>

``````

Calculamos el número de veces que traspasamos unos límites de calidad. \$Th^+ = 1.85\$ and \$Th^- = 1.65\$

``````

In [33]:

Th_u = 1.85
Th_d = 1.65

``````
``````

In [34]:

data_violations = datos[(datos['Diametro X'] > Th_u) | (datos['Diametro X'] < Th_d) |
(datos['Diametro Y'] > Th_u) | (datos['Diametro Y'] < Th_d)]

``````
``````

In [35]:

data_violations.describe()

``````
``````

Out[35]:

Tmp Husillo
Tmp Nozzle
Diametro X
Diametro Y
MARCHA
PARO
RPM EXTR
RPM TRAC

count
719.000000
719.000000
719.000000
719.000000
719
719
719
719.000000

mean
66.321280
151.304172
1.421605
1.364943
1
1
0
2.442142

std
0.200433
0.891735
0.363879
0.371820
0
0
0
1.360563

min
65.900000
149.500000
0.014000
0.000342
True
True
0
1.700000

25%
66.100000
150.600000
1.172458
1.138152
1
1
0
1.700000

50%
66.400000
151.200000
1.321566
1.264575
1
1
0
1.700000

75%
66.500000
152.000000
1.631253
1.563394
1
1
0
1.700000

max
66.600000
153.200000
2.319446
2.459850
True
True
0
5.300000

``````
``````

In [36]:

data_violations.plot(subplots=True, figsize=(12,12))

``````
``````

Out[36]:

array([<matplotlib.axes._subplots.AxesSubplot object at 0x13E92C30>,
<matplotlib.axes._subplots.AxesSubplot object at 0x13EEE2F0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x13F179B0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x13F3C8F0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x13F6B050>,
<matplotlib.axes._subplots.AxesSubplot object at 0x13F89770>,
<matplotlib.axes._subplots.AxesSubplot object at 0x13FB8070>,
<matplotlib.axes._subplots.AxesSubplot object at 0x13FCB950>], dtype=object)

``````
``````

In [ ]:

``````