I am a R&D operator which is in charge to conduct an evaluation study for implementing a monitoring system for our process of production. I generalized what the software must do but I don't know which is the approach/algorithm to perform what I designed.
Here's the process description:
we produce brake hoses. The hoses are produced in a continuous process. It starts from (1) extruding a plastic tube which get wrapped in reels of about 1000mt. Then (2) these 1000mt of extruded tube get braided with a textile or steel wire. The last phase (3) is coating the braided tube from phase (2) with an extrusor with a "T" head. At the end we get batches of brake hoses in reels of about 1000mt. The variables in this process are detected by sensors and in order are:
(1)-extruder speed - temperature - vacuum pressure
(1)-diameter of the extruded tube
(1) human operator
(2) speed of the braiding machines
(2) temperature and humidity of the braiding room
(2) human operator of the braiding machine
(3) coating extruder speed - temperature - vacuum pressure
(3) diameter of the coated hose (which the brake hose = the process OUTPUT)
(3) human operator
(3) tests performed by the laboratory onto the brake hose
This process is in the time-domain as the three phases are in chronological order and the process is a linear process (it starts from an extrusion of the inner tube and ends with its coating).
The operators of the laboratory will perform tests on the finished product (the process output) which is identified by a univoque batch code. The software must correlate these data and the diameter detected in the phase (3) to the sensors data of the process of that batch of hose.
Everytime we input data into the system the software must learn to recognize patterns and find correlations among the variables.
For example: last year we had a leakage problem on a hose which wasn't determined and disappeared after one month without significant actions made onto the process. If the software had already been implemented we expected a result from its analysis like this (simplifying in a spoken language):
-"I detected that the batch n°3 had a leakage in the test of "pressure holding" same as batch n°2 and batch n°1. In all these batches I detected the coexistence of these three factors:
1) the presence of the operator John Doe which stopped the braiding machine 2 times
2) the humidity of the braiding room was 2% over the average level of the past 3 months
3) there plastic grains for the extrusion of the inner tube (phase 1) has dried only for 20 minutes instead of 40.

Of course, the software next time the process shows the same conditions listed above warns us that the same defect might happen.

Which kind of algorithm (supervised-reinforced-unsupervised) is best suited for this task and which kind of approach (decision three-neural network? As I'm making a study to be submitted to the top management I would like to be well prepared and also don't depend to what a software house says it is the best solution because they tend to be "smart" when somebody is ignorant on an argument.
Thank you
Alessio Cazzaniga

  • $\begingroup$ This is a very broad question - there's far too many possible solutions and far too many complications in your process for you to get a really useful response here. Finding the best solution will really take a consultant to assess all your requirements. If your report to the management says "someone on the internet suggested X" then you might find yourself out the door.... $\endgroup$
    – Spacedman
    Oct 27 '16 at 17:40
  • $\begingroup$ First, my intentions here are to collect knowledge not to have a precise answer to submit straight to direction. I'm not stupid. Seconth: I'm not chasing the solution, I wish to understand which might be the best approach to a problem like this. Third: as you can see I obtained an answer below which gave me an useful approach to study. Fourth: I know my process. I'm aware of its complications. In my question is described the process flow and the sensors included in the same way I might describe it to a software-house. There isn't much more to add to the whole description. $\endgroup$ Oct 28 '16 at 6:54
  • $\begingroup$ You may be aware of its complications, but we aren't. Some of the techniques of ML may be totally inappropriate because of details left out. Also, why are you talking about a software house? You need to talk to someone in industrial process control statistics. $\endgroup$
    – Spacedman
    Oct 28 '16 at 7:27
  • $\begingroup$ Also, please note the text that appears when you start to ask a question here: "We prefer questions that can be answered, not just discussed.". $\endgroup$
    – Spacedman
    Oct 28 '16 at 7:29
  • $\begingroup$ Hi, I would be curious to hear whether my answer helped you. If so, feel free to accept it and upvote it $\endgroup$
    – Stereo
    Nov 2 '16 at 9:00

The problem you are looking at is a common researched problem in the field of reliability engineering. If I understand you example correctly your goal is to gain an understanding in the following:

What manufacturing conditions cause certain parts (in your situation hoses) to fail sooner than others?

For each variable you mention you will have to establish whether these are constant over the life time of a part or whether they change. Here I measure time as the time that elapses once the part is used by your client in production. In reliability engineering the variables that do not change over time e.g. human operator of the manufacturing process, production batch, etc. are called time independent covariates the ones that change over time, e.g. amount of pressure put on a hose in production (if you have a sensor that reads that kind of information at your client site), are called time dependent covariates.

You will have to transform your data such that it becomes censored survival data. This type of data means that every dependent variable is amount of time in operation from production. Since some of your hoses will likely never have a defect they will leave your observation period. Note that you do need to take these points into consideration too. When you combine all these data points you get something called right censored survival data.

With the right censored survival data and the covariates together you can start to build a accelerated failure time model. Note that it is recommended to first start with a Kaplan Meier estimate of your survival rates before diving into AFT, but I just want to give you some pointers.

A book that I can highly recommend on reliability engineering is:

Both don't dive deep into AFT but they do explain the fundamentals of physical systems and how this links to statistics. From experience I know that not many people are working on this field and that you can have a lot of wrong pointers.

In terms of bringing a model like this in production will heavily depend on the quality of your data. Typically sensor data can be of poor quality, moreover, user input tends to be even of worse quality. An article that gives you an idea of what kind of organizational challenges you may face can be found here. Expect a project like this to take several months to years.

  • $\begingroup$ Thank you for your contribution. I'll take a look on the documentation you attached here in your answer. $\endgroup$ Nov 4 '16 at 15:49

I think a random forest would be appropriate in this case.

If you have annotated historical data (records of all the variables you described as well as if the tube passed or failed), you could build a random forest, determine variable importance, and link both the categorical data (human operator) and continuous data (temperature, pressure...) to the tube outcome. A benefit of random forests is that they can be more easily described in terms of a decision tree. R has some nice visualization tools for decision trees, and in my experience, management has an easier time accepting decision trees then other methods.

Let me know if you need more detail and I can edit this response to include some sources on random forest, or more in depth explanation.

  • $\begingroup$ Hi, thank you for your answer. Of course material on this topic is welcome. I have to build a solid background on machine learning in order to discuss on this topic fluently. Cathegorical data are fundamentals because they are the result of the whole process. The weight of the variables is known of some but unknown on the many other present within the process. Is random forest a kind of supervised learning method? Why do I need more than 1 decision tree? $\endgroup$ Oct 27 '16 at 14:27
  • $\begingroup$ one more point that management will underline. a centralized system for gathering process data (including operator's actions) means rigid protocol and rules and thus garbage in garbage out? namely, is random forest immune to error by the operators in inputting data? Is there a way to put a sort of filter to tell them "hey this data looks wrong"? because if an error of a sensor or of a human vanish it all the whole system mean nothing to them. Thank you $\endgroup$ Oct 27 '16 at 15:04

Not the answer you're looking for? Browse other questions tagged or ask your own question.