IT202100001424A1 - Metodo e sistema per prevedere il fallimento di un’entità monitorata - Google Patents
Metodo e sistema per prevedere il fallimento di un’entità monitorata Download PDFInfo
- Publication number
- IT202100001424A1 IT202100001424A1 IT102021000001424A IT202100001424A IT202100001424A1 IT 202100001424 A1 IT202100001424 A1 IT 202100001424A1 IT 102021000001424 A IT102021000001424 A IT 102021000001424A IT 202100001424 A IT202100001424 A IT 202100001424A IT 202100001424 A1 IT202100001424 A1 IT 202100001424A1
- Authority
- IT
- Italy
- Prior art keywords
- training
- data
- entity
- entities
- malfunction
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 61
- 238000012549 training Methods 0.000 claims description 256
- 230000007257 malfunction Effects 0.000 claims description 126
- 238000013473 artificial intelligence Methods 0.000 claims description 68
- 238000004422 calculation algorithm Methods 0.000 claims description 46
- 238000009826 distribution Methods 0.000 claims description 46
- 238000012545 processing Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 8
- 238000007637 random forest analysis Methods 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 238000007477 logistic regression Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 description 10
- 238000010801 machine learning Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 239000011265 semifinished product Substances 0.000 description 3
- 230000036962 time dependent Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/20—Administration of product repair or maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0243—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
- G05B23/0254—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model based on a quantitative model, e.g. mathematical relationships between inputs and outputs; functions: observer, Kalman filter, residual calculation, Neural Networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Strategic Management (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Selective Calling Equipment (AREA)
Description
METODO E SISTEMA PER PREVEDERE IL FALLIMENTO DI UN?ENTIT?
MONITORATA
DESCRIZIONE
CAMPO TECNICO
La presente invenzione si riferisce al settore dei sistemi informatici. In dettaglio, la presente invenzione riguarda un metodo e un sistema per la predizione di un fallimento di un?entit? monitorata.
STATO DELL'ARTE
In vari settori di attivit? sono implementati sistemi di grande complessit?, ciascuno suddiviso in una pluralit? di unit? a loro volta suddivise in una pluralit? di componenti. Esempi di tali sistemi complessi comprendono impianti di produzione industriale, sistemi di trasporto pubblico, reti di telecomunicazione, reti informatiche, data center, ecc.
La complessit? di questi sistemi rende estremamente difficile e laborioso il controllo e la verifica dello stato delle varie unit? e componenti che costituiscono ciascun sistema. Di conseguenza, sono spesso implementate operazioni di manutenzione periodica a prescindere dall?effettiva necessit? della stessa e/o i sistemi sono implementati con una considerevole ridondanza per evitare che il malfunzionamento di un componente critico comprometta l?intero sistema. Come ? evidente tali soluzioni, limitano solo parzialmente gli svantaggi menzionati e portano a incrementano sostanziale del costo di produzione ed esercizio di questi sistemi, cos? come la complessit? degli stessi.
Nel tentativo di risolvere tali problemi nell?arte sono stati proposti metodi basati su un?analisi automatica dei sistemi complessi, in particolare basata su intelligenza artificiale, al fine di predire un possibile malfunzionamento degli stessi.
Per esempio, WO 2019/125445 e US 6,125,105 propongono metodi basati su un?intelligenza artificiale destinati a prevedere malfunzionamenti in una rete di sistemi informatici, in particolare per quanto riguarda lo scambio di dati tra elementi della rete.
US 2013/132001 e US 2012/025997 propongono invece metodi basati su intelligenza artificiale destinati a prevedere il malfunzionamento di apparati meccanici o elettromeccanici.
Inoltre, sono noti metodi basati su intelligenza artificiale destinati a predire situazioni di malfunzionamento di sistemi complessi non solamente influenzati da fattori meccanici e/o elettrici, ma anche fattori economici/sociali. Per esempio, JP 2020/095583 descrive un metodo basato su intelligenza artificiale destinato a fornire una previsione della probabilit? bancarotta di un?azienda.
La Richiedente ha osservato che i metodi proposti, per quanto basati su algoritmi di intelligenza artificiale robusti, sono fortemente influenzati dalla composizione dai dati utilizzati durante l?allenamento degli algoritmi di intelligenza artificiale.
In particolare, la Richiedente ha rilevato che le tecniche di elaborazioni dei dati di allenamento note non permettono di definire un insieme di dati di allenamento ottimale, in special modo nel caso di grandi insiemi di dati non uniformi, con un conseguente effetto negativo sulla qualit? delle predizioni di funzionamento generate dai sistemi noti.
SCOPI E RIASSUNTO DELL'INVENZIONE
? scopo della presente invenzione quello di superare gli inconvenienti dell?arte nota.
In particolare, ? scopo della presente invenzione fornire un metodo e un relativo sistema di predizione di un malfunzionamento ottimizzato.
Un ulteriore scopo della presente invenzione ? quello di proporre un metodo e sistema di predizione di un malfunzionamento in grado di fornire predizioni di malfunzionamento affidabili su una pluralit? di periodi di tempi futuri.
Un ulteriore scopo della presente invenzione ? quello di proporre un metodo e sistema di predizione di un malfunzionamento in grado di creare in modo automatico un insieme di dati di allenamento ottimale a partire da un insieme di dati disponibili.
Questi ed altri scopi della presente invenzione sono raggiunti mediante un sistema incorporante le caratteristiche delle rivendicazioni allegate, le quali formano parte integrante della presente descrizione.
Secondo un primo aspetto, la presente invenzione ? diretta a un metodo per predire un malfunzionamento di un?entit?. In particolare, l?entit? ? caratterizzata da una pluralit? di parametri.
Il metodo prevede di predire un malfunzionamento dell?entit? mediante un sistema di intelligenza artificiale cui sono forniti dati relativi ai parametri dell?entit?, in cui il sistema di intelligenza artificiale ? allenato mediante dei dati di allenamento.
Vantaggiosamente, i dati di allenamento sono selezionati secondo i seguenti passi:
a. acquisire un insieme di dati di allenamento, laddove l?insieme di dati di allenamento comprende una pluralit? di gruppi di dati di entit?, ciascun gruppo di dati di entit? comprendendo valori riferiti a parametri caratteristici di una rispettiva entit? di allenamento;
b. selezionare dati di entit? compresi in gruppi di dati di entit? di un primo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento; c. allenare il sistema di intelligenza artificiale mediante i dati di entit? del primo sottoinsieme di entit? di allenamento selezionati;
d. determinare una distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di dati di allenamento, eseguendo il sistema di intelligenza artificiale allenato con i dati di entit? del primo sottoinsieme di entit? di allenamento, e
e. determinare i dati di allenamento selezionando dati di entit? di entit? di allenamento appartenenti a un secondo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento in modo tale che il secondo sottoinsieme di entit? di allenamento presenti una distribuzione delle probabilit? di malfunzionamento uguale a quella calcolata al punto d.
Nella presente l?espressione ?entit? di allenamento dell?insieme di dati di allenamento? indica una (o pi?, secondo i casi) entit? di allenamento di cui almeno un rispettivo gruppo di dati di entit? di allenamento sia compreso nell?insieme di dati di allenamento.
Grazie a questa soluzione ? possibile ottenere predizioni di malfunzionamento particolarmente precise anche quando l?insieme dati di allenamento utilizzato per l?allenamento dell?intelligenza artificiale ? altamente sbilanciato. In particolare, ? lo stesso sistema di intelligenza artificiale che crea i dati di allenamento ottimali in modo completamente automatico.
In una forma di realizzazione, il metodo ulteriormente comprende il passo di: - determinare un primo gruppo di entit? di allenamento dell?insieme dati di allentamento che hanno subito un malfunzionamento e un secondo gruppo di entit? di allenamento dell?insieme dati di allentamento che non hanno subito un malfunzionamento.
Quando il secondo gruppo ? molto maggiore del secondo gruppo il passo di determinare una distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di dati allenamento prevede di determinare la distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento del secondo gruppo.
Inoltre, il passo di determinare i dati di allenamento selezionando dati di entit? di un secondo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento prevede di:
- selezionare un terzo sottoinsieme di entit? di allenamento del secondo gruppo in modo tale che il terzo sottoinsieme di entit? di allenamento presenti una distribuzione delle probabilit? di malfunzionamento uguale a quella calcolata al punto d, e
- definire il secondo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento come unione delle entit? di allenamento del primo gruppo e del terzo sottoinsieme.
Nella presente, l?espressione ?molto maggiore? indica una proporzione uguale o maggiore di 1:5.
In questo modo ? possibile ottenere dati di allenamento bilanciati a partire da un insieme di dati di allenamento fortemente sbilanciato in modo rapido ed efficiente.
In una forma di realizzazione, il passo di determinare una distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di allenamento prevede di:
i. definire una pluralit? di valori di soglia di probabilit?;
ii. determinare almeno uno tra un numero e una lista di entit? di allenamento dell?insieme di dati di allenamento la cui probabilit? di malfunzionamento ? minore o uguale a un valore di soglia selezionato, eseguendo il sistema di intelligenza artificiale,
iii. selezionare un nuovo valore di soglia di probabilit? di detta pluralit? di valori di soglia di probabilit?,
iv. iterare i passi i - iii, fino a quando sono stati selezionati tutti i valori di soglia di probabilit?, e
v. calcolare la distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di allenamento sulla base dei risultati forniti ad ogni iterazione del passo ii.
Preferibilmente, sono previsti anche i passi di prevede i passi di:
ii_a. selezionare dati di entit? di un sottoinsieme intermedio di entit? di allenamento, detto sottoinsieme intermedio di entit? di allenamento comprendendo entit? comprese nella lista di entit? di allenamento determinata al passo ii ed entit? di allenamento dell?insieme di allenamento che hanno subito un malfunzionamento;
ii_b. allenare il sistema di intelligenza artificiale mediante i dati di entit? del sottoinsieme intermedio di entit?,
prima di eseguire i passi iii - v.
In una forma di realizzazione, il passo di determinare una distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di allenamento prevede di:
- calcolare una probabilit? di malfunzionamento per ciascuna entit? di allenamento dell?insieme di dati di allenamento, eseguendo il sistema di intelligenza artificiale, e
- combinare le probabilit? di malfunzionamento calcolate per determinare la distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di dati di allenamento.
In una forma di realizzazione, il passo di determinare una distribuzione delle probabilit? di malfunzionamento prevede di:
- calcolare una pluralit? di distribuzioni delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di allenamento, laddove ciascuna distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di allenamento ? calcolata per mezzo di gruppi di dati delle entit? di allenamento riferiti a un medesimo intervallo di tempo.
Inoltre, il passo di determinare i dati di allenamento prevede di:
- selezionare i dati di entit? di un secondo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento in modo tale che il secondo sottoinsieme di entit? di allenamento presenti una pluralit? di distribuzioni delle probabilit? di malfunzionamento uguale alla pluralit? di distribuzioni delle probabilit? di malfunzionamento calcolata per le entit? di allenamento dell?insieme di dati di allenamento.
La Richiedente ha determinato che le metodologie sopra proposte rendono possibile determinare in modo efficace la distribuzione di probabilit? fallimento dell?insieme in modo particolarmente efficace.
In una forma di realizzazione, il passo di selezionare dati di entit? di un primo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento prevede di:
- determinare un primo gruppo di entit? di allenamento dell?insieme dati di allentamento che hanno subito un malfunzionamento;
- campionare casualmente un secondo gruppo di entit? di allenamento dell?insieme dati di allentamento che non hanno subito un malfunzionamento, laddove il secondo gruppo comprende un numero di entit? di allenamento compreso tra 1 e 5 volte un numero di entit? di allenamento del primo gruppo, e - comporre il primo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento come unione delle entit? di allenamento del primo gruppo e del secondo gruppo.
In questo modo, ? possibile ottenere una riduzione iniziale di un insieme di dati di allenamento sbilanciato che permetta di allenare in modo funzionale il sistema di intelligenza artificiale.
In una forma di realizzazione, il passo di predire un malfunzionamento dell?entit? mediante un sistema di intelligenza artificiale prevede di utilizzare un algoritmo di apprendimento automatico, selezionato tra:
- Random Forest,
- XGBoost;
- Logistic Regression, e
- una rete neuronale.
La Richiedente ha determinato che questi algoritmi di apprendimento automatico, in particolare l?algoritmo Random Forest, permettono di ottenere prestazioni ottimali. Per esempio, l?algoritmo Random Forest permette di ottenere risultati caratterizzati da un fattore AUC (acronimo di Area Under Curve - area sotto curva ROC, acronimo di Receiver Operating Characteristic ? caratteristica operativa di ricevitore) compreso tra 88% - 93%.
In una forma di realizzazione, il passo di predire un malfunzionamento dell?entit? mediante un sistema di intelligenza artificiale prevede di calcolare una pluralit? di probabilit? di malfunzionamento dell?entit?, ciascuna probabilit? di malfunzionamento dell?entit? essendo riferita a un rispettivo intervallo di tempo futuro.
Le previsioni di malfunzionamento fornite dal sistema risultano altamente affidabili anche su periodi di tempo futuri molto estesi per esempio compresi tra un anno e cinque anni.
Un differente aspetto della presente invenzione riguarda un sistema per predire un malfunzionamento di un?entit?. In particolare, l?entit? ? caratterizzata da una pluralit? di parametri, il sistema comprendendo:
- un modulo di interfaccia configurato per ricevere dati relativi a detta entit? e fornire un risultato di predizione di malfunzionamento;
- un modulo di elaborazione dati configurato per acquisire ed elaborare dati relativi a entit? di allenamento e i dati relativi a detta entit? forniti al modulo di interfaccia, e
- un modulo di intelligenza artificiale configurato per eseguire un algoritmo di intelligenza artificiale che utilizza i dati elaborati dal modulo di elaborazione dati per predire una probabilit? di malfunzionamento dell?entit?.
Vantaggiosamente, i moduli del sistema sono configurati per implementare il metodo secondo una qualsiasi delle rivendicazioni precedenti.
Ulteriori caratteristiche e scopi della presente invenzione appariranno maggiormente chiari dalla descrizione che segue.
BREVE DESCRIZIONE DEI DISEGNI
L?invenzione verr? descritta qui di seguito con riferimento ad alcuni esempi, forniti a scopo esplicativo e non limitativo, ed illustrati nei disegni annessi. Questi disegni illustrano differenti aspetti e forme di realizzazione della presente invenzione e, dove appropriato, numeri di riferimento illustranti strutture, componenti, materiali e/o elementi simili in differenti figure sono indicati da numeri di riferimento similari.
La Figura 1 ? uno schema a blocchi di un sistema di predizione di malfunzionamento secondo una forma di realizzazione della presente invenzione predisposto per fornire una o pi? predizioni di malfunzionamento di un?entit? monitorata;
la Figura 2 ? un diagramma di flusso di una procedura di allenamento implementata dal sistema di predizione di malfunzionamento di Figura 1;
la Figura 3 ? un grafico qualitativo di una distribuzione di probabilit? di malfunzionamento calcolata dal sistema di predizione di malfunzionamento di Figura 1, e
la Figura 4 ? un diagramma di flusso di una procedura di predizione di malfunzionamento implementata dal sistema di predizione di malfunzionamento di Figura 1.
DESCRIZIONE DETTAGLIATA DELL?INVENZIONE
Mentre l?invenzione ? suscettibile di varie modifiche e costruzioni alternative, alcune forme di realizzazione preferite sono mostrate nei disegni e saranno descritte qui di seguito in dettaglio. Si deve intendere, comunque, che non vi ? alcuna intenzione di limitare l?invenzione alla specifica forma di realizzazione illustrata, ma, al contrario, l?invenzione intende coprire tutte le modifiche, costruzioni alternative, ed equivalenti che ricadano nell?ambito dell?invenzione come definito nelle rivendicazioni.
L?uso di ?ad esempio?, ?ecc.?, ?oppure? indica alternative non esclusive senza limitazione a meno che non altrimenti indicato. L?uso di ?include? significa ?include, ma non limitato a? a meno che non sia altrimenti indicato.
Con riferimento alla Figura 1 un sistema di predizione di malfunzionamento basato su intelligenza artificiale secondo una forma di realizzazione della presente invenzione ? indicato come ?sistema 1? nel seguito, per brevit? ? comprende un modulo di interfaccia 11, un modulo di elaborazione dati 12 e un modulo di intelligenza artificiale 13, collegati tra loro per scambiare dati ? per esempio, in formato binario.
Il modulo di interfaccia 11 ? connesso a uno o pi? dispositivi utente 2 (per esempio, computer o sistemi informatici) al fine di scambiare dati con gli stessi. Inoltre, il modulo di interfaccia 11 ? connesso a uno o pi? sensori 3. In particolare, ciascun sensore 3 ? configurato per fornire una misura di una grandezza fisica associata al funzionamento di un?entit? monitorata 4.
A tale scopo, il modulo di interfaccia 11 comprende risorse hardware necessarie, come uno o pi? processori, memorie volatili, memorie non-volatili, modem ecc.
Per esempio, l?entit? monitorata 4 ? un impianto industriale comprendente una pluralit? di stazioni di lavorazione automatizzate. In tale caso, i sensori 3 possono comprendere uno o pi? tra sensori di temperatura, sensori di pressione, sensori di peso, fotocamere, termocamere, sensori di tensione e/o corrente, sensori di portata, ecc. secondo la tipologia di impianto industriale e/o le stazioni di lavorazione comprese nello stesso. In aggiunta, i sensori 3 possono comprendere dispositivi di elaborazione come PLC, microcomputer, microcontrollori, ecc. In tale caso, tali dispositivi di elaborazione sono configurati per fornire informazioni di funzionamento dell?impianto industriale e/o della stazione di lavorazione dello stesso cui sono connessi ? per esempio, volume di produzione, tempo di attivit? dei componenti compresi nelle stazioni di lavorazione, ecc.
Il modulo di interfaccia 11 ? configurato per fornire i dati ricevuti dai dispositivi utente 2 e dai sensori 3 al modulo di elaborazione dati 12. Inoltre, il modulo di interfaccia 11 ? collegato al modulo di intelligenza artificiale 13 per scambiare dati con lo stesso. Vantaggiosamente, il modulo di interfaccia 11 ? configurato per trasmettere al modulo di intelligenza artificiale 13 richieste di predizione ricevute da un dispositivo utente 2 e/o dati di ingresso da utilizzare per le previsioni come descritto nel seguito. In aggiunta, il modulo di interfaccia 13 ? configurato per ricevere dati di output generati dal modulo di intelligenza artificiale 12 da inoltrare a uno o pi? corrispondenti dispositivi utente 2.
Il modulo di elaborazione dati 12 ? connesso a uno o pi? banche dati 5, o pi? in generale sorgenti di dati, al fine di scambiare dati con le stesse. In particolare, le banche dati 5 comprendono una pluralit? di dati di entit? DB. Ciascun dato di entit? DB comprende valori di una pluralit? di parametri caratteristici di una rispettiva entit? (non illustrata).
Il modulo di elaborazione dati 12 ? configurato per ricevere, combinare ed elaborare i dati acquisiti dalle banche dati 5 e dal modulo di interfaccia 11, in modo che possano essere utilizzati in modo adeguato dal modulo di intelligenza artificiale 13 al fine di fornire una previsione di malfunzionamento. A tale scopo, il modulo di elaborazione dati 12 comprende risorse hardware necessarie, come uno o pi? processori (CPU), processori grafici (GPU), processori di segnale (DSP), memorie volatili, memorie non-volatili, modem ecc.
Il modulo di intelligenza artificiale 13 ? configurato per elaborare dati processati dal modulo elaboratore 12 e/o forniti dal modulo di interfaccia 11 al fine di predire una probabilit? di malfunzionamento dell?entit? monitorata 4. Il modulo di intelligenza artificiale 13 ? configurato per eseguire un algoritmo di intelligenza artificiale AI, preferibilmente, un algoritmo di apprendimento automatico ? o Machine Learning (ML). In una forma di realizzazione preferita della presente invenzione, il modulo di intelligenza artificiale 13 ? configurato per eseguire l?algoritmo di apprendimento automatico, preferibilmente, un algoritmo a foresta casuale ? o Random Forest.
A tale scopo, il modulo di intelligenza artificiale 13 comprende risorse hardware necessarie, come uno o pi? processori (CPU), processori grafici (GPU), processori di segnale (DSP), memorie volatili, memorie non-volatili, modem ecc.
Il sistema 1 appena descritto ? configurato per eseguire un metodo per predire un malfunzionamento di un?entit? secondo una forma di realizzazione della presente invenzione.
In particolare, il metodo comprende una procedura di apprendimento 100 e una procedura di predizione 200.
La procedura di apprendimento 100 ha lo scopo di addestrare l?algoritmo di intelligenza artificiale AI al fine di eseguire predizioni di malfunzionamento affidabili.
In dettaglio, la procedura di apprendimento 100 prevede di acquisire un insieme di dati di entit? DB riferiti a entit? di allenamento dalle banche dati 5 (blocco 101). Ciascuna entit? di allenamento ha caratteristiche e uno scopo sostanzialmente corrispondenti a, o almeno confrontabili con, le caratteristiche e lo scopo dell?entit? monitorata 4. Per esempio, le entit? di allenamento sono impianti industriali che producono un medesimo, o simile, lavorato o semilavorato al lavorato o semilavorato prodotto dall?impianto industriale corrispondente all?entit? monitorata 4.
Vantaggiosamente, i dati di entit? di allenamento acquisiti sono riferiti sia a entit? di allenamento che hanno subito un malfunzionamento sia entit? di allenamento che non hanno subito un malfunzionamento. Per ciascuna entit? di allenamento ? acquisito almeno un gruppo di dati di entit?. Preferibilmente, per ciascuna entit? sono acquisiti gruppi di dati di entit? riferiti a due o pi? intervalli di tempo predeterminati ? per esempio, cinque gruppi di dati di entit? riferiti all?operazione dell?entit? di allenamento durante cinque anni consecutivi, dieci dati riferiti ad altrettanti periodi di esercizio dell?entit? di allenamento separati da un periodo di fermo, ecc.
Vantaggiosamente, ciascun gruppo di dati di entit? comprende valori riferiti a parametri caratteristici della rispettiva entit? di allenamento, sia tempo varianti sia tempo invarianti. Per esempio, i parametri indipendenti dal tempo comprendono parametri strutturali (dimensioni, peso, lista delle stazioni e/o dei componenti, ecc.) e parametri nominali (potenza massima assorbita/generata, frequenza massima di operazione, carico massimo, MTBF di uno o pi? componenti dell?impianto e/o delle stazioni dell?impianto, ecc.). Diversamente, i parametri dipendenti dal tempo comprendono parametri di funzionamento dell?entit? di allenamento (potenza istantanea assorbita, giri al minuto di una componente meccanica/elettromeccanica, quantit? di materia prima in ingresso, quantit? di prodotto lavorato o semilavorato in uscita, ecc.). In particolare, i parametri dipendenti dal tempo possono comprendere una pluralit? di valori acquisiti in diversi istanti di tempo, un andamento del valore dei parametri in detto intervallo di tempo, una variazione del valore dei parametri tra due o pi? istanti di tempo e/o simili informazioni.
I dati di entit? DB acquisiti sono resi uniformi tra loro (blocco 102). In particolare, i dati di entit? sono elaborati in modo che ciascun gruppo di dati di entit? comprenda valori riferiti ai medesimi parametri caratteristici dell?entit? di allenamento.
Per esempio, ? eseguita un?operazione di missing value imputation come descritta in Barnard, J., Meng, X.-L., 1999: ?Applications of multiple imputation in medical studies: from aids to nhanes? Statistical methods in medical research 8 (1), 17?36, e una standardizzazione dell?insieme dati. Preferibilmente, qualsiasi valore mancante da un dato di entit? ? posto a zero ed ? eseguita un?operazione di standard scaling.
I dati di entit? DB uniformati sono quindi analizzati e separati in dati principali, o core data, e dati secondari, o non-core data (blocco 103). Preferibilmente, i dati principali comprendono gruppi di dati di entit? aventi valori riferiti ai medesimi parametri, in modo da consentire un confronto adeguato tra le corrispondenti entit?. Diversamente, i dati secondari raccolgono dati riferiti a parametri non contenuti in tutti i gruppi dati di entit? dell?insieme di dati di entit?.
I dati secondari sono elaborati per generare dati di perturbazione (blocco 104). In particolare, i dati di perturbazione rappresentano un effetto dei dati secondari sui dati principali.
I dati principali sono poi suddivisi in un insieme di dati di allenamento DT e un insieme di dati di validazione DV (blocco 105). I dati principali sono suddivisi in modo che l?insieme di dati di allenamento DT sia sostanzialmente maggiore dell?insieme di dati di validazione DV. Preferibilmente, l?insieme di dati di allenamento DT comprende lo 80% dei dati di entit? DB e, quindi, l?insieme dei dati di validazione DV comprende il restante 20% dei dati di entit? DB.
L?insieme di dati di allenamento DT ? poi sottoposto a un processo di riduzione di caratteristiche ? o Feature Reduction ? (blocco 106). Per esempio, sono rimossi i parametri per cui la presenza o assenza non modifica la precisione dei risultati di un valore maggiore del 1% nell?esecuzione di un?operazione di classificazione.
Preferibilmente, il processo di riduzione delle caratteristiche ? un processo di rimozione di caratteristiche iterativo ? o iterative feature removal process.
Successivamente, ? selezionato un sottoinsieme di entit? di allenamento associate a corrispondenti gruppi di dati di entit? dell?insieme dati di allenamento DT (blocco 107). Per esempio, ? eseguito un ridimensionamento (downsizing) dell?insieme dei dati di allenamento, per mezzo di un campionamento casuale delle entit? di allenamento dell?insieme di dati di allenamento DT, in modo da ottenere un sottoinsieme di entit? di allenamento sostanzialmente ridotto rispetto alla totalit? di entit? di allenamento dell?insieme di dati di allenamento DT.
Nella presente l?espressione ?entit? di allenamento dell?insieme di dati di allenamento DT? indica un?entit? di allenamento di cui almeno un rispettivo gruppo di dati di entit? di allenamento sia compreso nell?insieme di dati di allenamento DT.
Preferibilmente, nel caso di un insieme di dati di allenamento altamente sbilanciato, ? previsto di selezionare separatamente un sottoinsieme delle entit? di allenamento dell?insieme di dati di allenamento DT che non hanno subito un malfunzionamento e un sottoinsieme delle entit? di allenamento dell?insieme di dati di allenamento DT che hanno subito un malfunzionamento, in particolare con dimensioni differenti, e poi uniti in un unico sottoinsieme di entit? di allenamento. Preferibilmente, il sottoinsieme di entit? di allenamento ridotto ? caratterizzato da proporzione tra le entit? di allenamento che hanno subito un malfunzionamento e le entit? di allenamento che non hanno subito un malfunzionamento ? compresa tra 1:5 e 1:1, preferibilmente, uguale o inferiore a 1:3.
L?espressione ?insieme di dati di allenamento altamente sbilanciato? indica un insieme dati di allenamento in cui le entit? di allenamento che hanno subito un malfunzionamento sono il 20% o meno delle entit? di allenamento che non hanno subito un malfunzionamento.
I dati di allenamento associati al sottoinsieme di entit? di allenamento selezionate sono utilizzati come primo sottoinsieme di dati di allenamento DT1 (blocco 108) ed ? utilizzato per allenare l?algoritmo di intelligenza artificiale AI (blocco 109).
L?algoritmo di intelligenza artificiale AI cos? addestrato ? sottoposto a valutazione (blocco decisionale 110). In particolare, l?insieme di dati di validazione DV e i dati di perturbazione sono forniti in ingresso all?algoritmo di intelligenza artificiale AI e quindi si verifica la corrispondenza della predizione di malfunzionamento per ciascuna entit? di allenamento associata ai dati di validazione DV. Preferibilmente, ? verificato che le predizioni di malfunzionamento dell?algoritmo di intelligenza artificiale AI non siano affette da sovradattamento, o overfitting.
In caso la validazione rilevi la produzione di risultati sub-ottimi (ramo di uscita N del blocco 110), gli iperparametri (hyperparameter) dell?algoritmo di intelligenza artificiale sono eventualmente regolati in modo da ottimizzare la precisione e il recupero delle predizioni di malfunzionamento fornite dall?algoritmo di intelligenza artificiale (blocco 111) ed ? ripetuto il passo di validazione per verificare che l?algoritmo di intelligenza artificiale AI operi in modo desiderato. Preferibilmente, la regolazione degli iperparametri ? eseguita per mezzo di un approccio di regolazione basato su ricerca di griglia (Gridsearch) - per esempio, in modo analogo a quanto descritto in Bergstra, J., Bengio, Y., 2012: ?Random search for hyper-parameter optimization?, Journal of Machine Learning Research 13, 281?305.
Una volta che la validazione rileva la produzione di risultati accettabili (ramo di uscita Y del blocco 110), ? previsto di utilizzare l?algoritmo di intelligenza artificiale AI per calcolare una probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di dati allenamento DT (blocco 112).
Per esempio, l?algoritmo di intelligenza artificiale AI ? eseguito pi? volte. A ogni iterazione l?algoritmo ? configurato per fornire in uscita un numero e/o una lista di entit? di allenamento dell?insieme dati DT la cui probabilit? di malfunzionamento ? minore o uguale a un rispettivo valore di soglia.
Preferibilmente, l?algoritmo di intelligenza artificiale AI ? eseguito per determinare le entit? di allenamento con una probabilit? di malfunzionamento uguale o inferiore a 20%, 30%, 40%, 50% e 60%.
Ancor pi? preferibilmente, l?operazione di calcolare la probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di dati allenamento DT ? eseguita per ciascun intervallo di tempo per cui sono presenti corrispondenti gruppi di dati delle entit? di allenamento.
Combinando i risultati delle iterazioni dell?algoritmo di intelligenza artificiale AI si ottiene una distribuzione della probabilit? di malfunzionamento delle entit? di allenamento dei dati di allenamento DT (blocco 113) (illustrata qualitativamente in Figura 3). Preferibilmente, ? definita una distribuzione della probabilit? di malfunzionamento delle entit? di allenamento dei dati di allenamento DT per ciascun intervallo di tempo per cui sono presenti corrispondenti gruppi di dati delle entit? di allenamento.
Sulla base della distribuzione di probabilit? di malfunzionamento cos? definita, ? selezionato un secondo sottoinsieme di dati di allenamento DT2 a partire dai dati di allenamento DT (blocco 114). In particolare, il secondo sottoinsieme di dati di allenamento SDT2 comprende dati riferiti a un sottoinsieme di entit? di allenamento delle entit? di allenamento dell?insieme di allenamento DT selezionati in modo che il sottoinsieme di entit? di allenamento abbia una distribuzione di probabilit? di malfunzionamento corrispondente alla distribuzione di probabilit? di malfunzionamento della totalit? delle entit? di allenamento dell?insieme di allenamento. Preferibilmente, il secondo sottoinsieme di dati di allenamento SDT2 ? definito in modo che vi sia una corrispondenza con ciascuna delle distribuzioni della probabilit? di malfunzionamento calcolate per un rispettivo intervallo di tempo.
L?algoritmo di intelligenza artificiale AI ? sottoposto a un nuovo allenamento basato sul secondo sottoinsieme di dati di allenamento DT2 (blocco 115).
Al termine dell?allenamento, l?algoritmo di intelligenza artificiale AI ? nuovamente sottoposto a valutazione (blocco decisionale 116) e regolazione degli iperparametri (blocco 117) nel caso sia rilevata la produzione di risultati subottimi (ramo di uscita N del blocco 116), in modo analogo a quanto sopra descritto.
Al termine della procedura di allenamento 100 (ramo di uscita Y del blocco 116) il sistema 1 ? disponibile per ricevere richieste di predizione di malfunzionamento dell?entit? monitorata 4 eseguite tramite un dispositivo utente 2 (blocco 118).
La procedura di predizione 200 (cui si riferisce il diagramma di flusso di Figura 4), inizialmente, prevede di acquisire una pluralit? di dati operativi DE relativi all?entit? monitorata 4 (blocco 201). In particolare, i dati operativi DE sono acquisiti attraverso i sensori 3 e/o il dispositivo utente 2.
Vantaggiosamente, i dati operativi DE comprendono valori relativi a parametri caratteristici dell?entit? monitorata indipendenti dal tempo e/o relativi a parametri caratteristici dell?entit? monitorata dipendenti dal tempo in modo analogo a quanto sopra descritto rispetto ai dati di entit? DB.
I dati operativi DE acquisiti sono quindi analizzati e separati in dati principali, o core data, e dati secondari, o non-core data (blocco 202). Preferibilmente, i dati principali comprendono un sottoinsieme di dati operativi DE corrispondenti a dati di allenamento DT utilizzati durante un metodo di allenamento descritto nel seguito della presente. Diversamente, i dati secondari comprendono un sottoinsieme dei dati operativi DE che non corrispondono ai dati di allenamento DT.
Per esempio, il modulo di elaborazione dati 12 comprende un?unit? di discriminazione 121 configurata per analizzare e separare i dati operativi DE in dati principali e dati secondari.
I dati secondari sono elaborati per generare dati di perturbazione (blocco 203). Per esempio, il modulo di elaborazione dati 12 comprende un?unit? di perturbazione 122 configurata per ricevere in ingresso i dati secondari e generare in uscita corrispondenti dati di perturbazione.
I dati principali e i dati di perturbazione sono forniti in ingresso all?algoritmo di intelligenza artificiale eseguito dal modulo di intelligenza artificiale. L?algoritmo di intelligenza artificiale fornisce una predizione di malfunzionamento PM dell?entit? monitorata 4 (blocco 204).
Preferibilmente, la predizione di malfunzionamento comprende almeno una probabilit? che l?entit?, o un suo componente, subisca un malfunzionamento entro un intervallo di tempo futuro a partire dall?acquisizione dei dati operativi DE dell?entit? monitorata 4
In una forma di realizzazione preferita, l?algoritmo di intelligenza artificiale ? configurato per fornire una sequenza di predizioni di malfunzionamento PM1-n riferiti a intervalli di tempi consecutivi. Per esempio, genera una probabilit? di malfunzionamento associata per due o pi? intervalli di tempo selezionati tra 6 mesi, 12 mesi, 24 mesi, 36 mesi, 48 mesi, 60 mesi a partire dall?acquisizione dei dati operativi DE dell?entit? monitorata 4.
Inoltre, l?algoritmo di intelligenza artificiale genera un?indicazione degli uno o pi? parametri caratteristici dell?entit? monitorata 4 risultati pi? rilevanti nel calcolo della probabilit? di malfunzionamento per ciascun intervallo di tempo considerato.
? tuttavia chiaro che gli esempi sopra riportati non devono essere interpretati in senso limitativo e l?invenzione cos? concepita ? suscettibile di numerose modifiche e varianti.
Per esempio, in forme di realizzazione alternative (non illustrate) i dati operativi relativi all?entit? da monitorare sono forniti al sistema 1 unicamente attraverso uno o pi? dispositivi utente 2 collegati al modulo di interfaccia 11 del sistema 1. In questo caso, le misure fornite dai sensori 3 sono ricevute dai dispositivi utente o, alternativamente, non sono previsti sensori 3 per effettuare una misurazione automatica dei parametri dell?entit? monitorata 4, ma i parametri sono determinati sulla base di misure/osservazioni indirette.
Nulla vieta di realizzare il modulo di interfaccia 11, il modulo di elaborazione dati 12 e/o il modulo di intelligenza artificiale 13 come un unico modulo.
Sar? evidente al tecnico del settore che il modulo di interfaccia 11, il modulo di elaborazione dati 12 e/o il modulo di intelligenza artificiale 13 possono essere implementati attraverso sia risorse hardware dedicate sia risorse hardware condivise. Ancora, uno o pi? moduli possono essere realizzate, almeno in parte, tramite macchine virtuali.
Sebbene l?algoritmo di apprendimento automatico preferito sia del tipo Random Forest, nulla vieta di configurare il modulo di intelligenza artificiale per implementare un differente algoritmo. In particolare, in forme di realizzazione alternative (non illustrate), il modulo di intelligenza artificiale ? configurato per eseguire un algoritmo di tipo XGBoost, regressione logistica (Logistic Regression) o una rete neuronale (Neural Network - NN).
Come sar? evidente al tecnico del settore, uno o pi? passi delle procedure 100 e 200 sopra descritte possono essere eseguiti in parallelo tra loro o con un ordine differente da quello sopra presentato. Analogamente, uno o pi? passi opzionali possono essere aggiunti o rimossi da uno o pi? delle procedure sopra descritte.
Per esempio, in forme di realizzazione alternative (non illustrate), l?uniformazione dei dati e la separazione dei dati in insieme di allenamento e insieme di validazione sono eseguite in ordine inverso.
In una forma di realizzazione (non illustrata), ? omesso il passo di riduzione di caratteristiche nella procedura di allenamento. In aggiunta o in alternativa, nella procedura di previsione la conversione dei dati secondari in dati di perturbazione pu? essere omessa.
Ancora, nulla vieta di omettere i passi di validazione e/o i passi di regolazione degli iperparametri.
In una forma di realizzazione alternativa (non illustrata), ? previsto di ridefinire una pluralit? di sottoinsiemi di dati di addestramento con cui addestrare sequenzialmente l?algoritmo di intelligenza artificiale al fine di determinare un insieme di dati di allenamento definitivo. In dettaglio, una volta completato l?allenamento dell?intelligenza artificiale AI per mezzo del primo sottoinsieme di dati di allenamento, l?algoritmo di intelligenza artificiale AI ? eseguito per elaborare i dati dell?insieme di allenamento DT in modo da determinare le entit? di allenamento con una probabilit? di malfunzionamento uguale o inferiore a una prima soglia ? per esempio, 20%. Successivamente, ? previsto di selezionare un nuovo sottoinsieme di entit? di allenamento, costituito da un campionamento di entit? comprese tra le entit? di allenamento con una probabilit? di malfunzionamento uguale o inferiore alla prima soglia e le entit? di allenamento oggetto di un malfunzionamento. L?algoritmo di intelligenza artificiale AI ? allenato con il nuovo sottoinsieme di dati di allenamento e poi ? eseguito per elaborare i dati dell?insieme di allenamento DT in modo da determinare le entit? di allenamento con una probabilit? di malfunzionamento uguale o inferiore a una seconda soglia ? per esempio, 30%. I passi appena descritti sono iterati ogni volta per identificare entit? di allenamento con una probabilit? uguale o inferiore a una soglia maggiore della precedente ? per esempio, altre tre iterazioni con soglie paria 40%, 50% e 60%, rispettivamente ? fino a che il numero di entit? di allenamento individuato ha un valore significativo ? per esempio, una soglia oltre la quale il sistema degrada fortemente come oltre il 70% nell?esempio delle iterazioni sopra considerato. I risultati dei passi precedenti sono utilizzati per determinare la distribuzione di probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di dati di allenamento DT e determinare il sottoinsieme di dati di allenamento definitivo in modo analogo a quanto sopra descritto.
Come sar? evidente nel caso di un insieme di dati di allenamento altamente sbilanciato, ossia comprendente un gruppo di entit? di allenamento dell?insieme dati di allentamento che hanno subito un malfunzionamento molto inferiore di un gruppo di entit? di allenamento dell?insieme dati di allentamento che non hanno subito un malfunzionamento ? per esempio, in cui le entit? di allenamento del primo gruppo sono 5% o meno delle entit? di allenamento del secondo gruppo - il peso del primo gruppo di entit? di allenamento ? sulla distribuzione della probabilit? di malfunzionamento dell?insieme di dati di allenamento ? trascurabile.
Di conseguenza, il passo di determinare la distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di allenamento DT (blocco 112 della procedura 100) pu? essere implementato determinando la distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento del solo secondo gruppo di entit? ? ossia che non hanno subito un malfunzionamento. Di conseguenza, il passo di determinare una distribuzione della probabilit? di malfunzionamento delle entit? di allenamento dei dati di allenamento DT (blocco 113) prevede di selezionare un terzo sottoinsieme di entit? di allenamento SDT3 del secondo gruppo ? ossia, tutte entit? che non hanno subito un malfunzionamento ? in modo tale che il terzo sottoinsieme di entit? di allenamento presenti una distribuzione delle probabilit? di malfunzionamento uguale alla distribuzione della probabilit? di malfunzionamento delle entit? di allenamento dei dati di allenamento DT. Infine, il secondo sottoinsieme di entit? di allenamento SDT2 dell?insieme di dati di allenamento DT ?, quindi, definito come l?unione delle entit? di allenamento del primo gruppo e del terzo sottoinsieme di entit? di allenamento SDT3.
In un?ulteriore forma di realizzazione (non illustrata), ? previsto di ripetere la procedura di allenamento 100. Per esempio, la procedura di allenamento 100 pu? essere reiterata trascorso un periodo di tempo predeterminato (come un anno) dall?iterazione precedente della stessa, acquisendo nuovi dati di entit? dalle banche dati.
Come sar? evidente, la combinazione delle procedure 100 e 200 sopra presentate forma un complessivo metodo di predizione di malfunzionamento di un?entit? monitorata secondo la presente invenzione.
Naturalmente, tutti i dettagli sono sostituibili da altri elementi tecnicamente equivalenti.
Inoltre, sebbene nella descrizione si sia fatto riferimento a un?entit? monitorata corrispondente a un impianto industriale, sar? evidente a un tecnico del settore che il metodo e il sistema sopra descritti possono essere adattati per fornire predizioni relative a entit? differenti senza richiedere modifiche sostanziale al metodo e sistema secondo la presente invenzione.
Per esempio, in una forma di realizzazione il metodo e il sistema sono configurati per fornire predizioni di malfunzionamento di un sistema informatico, come un data center, in tale caso i parametri comprendono parametri relativi alle risorse hardware installate, parametri relativi al funzionamento di tali risorse hardware, parametri relativi all?edificio in cui ? situato il data center, parametri relativi a un impianto HVAC che regola la temperatura del data center, parametri relativi al funzionamento di detto impianto HVAC, ecc.
Ancora, il metodo e il sistema sono configurati per fornire predizioni di malfunzionamento, ossia il fallimento, di un?entit? legale, in particolare un?azienda. In tale caso, il sistema 1 ? collegato a banche dati 5 anche di tipo finanziarie pubbliche ? per esempio, banche dati delle camere di commercio o simili enti della nazione in cui ? operativa l?entit? monitorata ? e private ? per esempio, la banca dati AIDA.
Dalle banche dati 5 sono estratti i dati relativi ad aziende fallite e aziende non fallite con caratteristiche analoghe all?entit? monitorata ? per esempio, in termini di settore commerciale e volume di affari. In particolare, sono acquisiti un numero predeterminato di anni fiscali ? per esempio gli ultimi cinque fiscali di entit?. Preferibilmente, sono scartate dall?insieme dati le aziende per cui non siano disponibili un numero di relazioni finanziarie ufficiali maggiore o uguali a un numero di soglia ? per esempio, uguale a cinque.
L?insieme di dati cos? acquisiti sono poi suddivisi in dati principali e dati secondati come sopra descritto. I dati principali sono poi elaborati per uniformare l?insieme dati ed ? eseguita una riduzione delle caratteristiche, in modo analogo a quanto sopra descritto.
I dati secondari sono elaborati per generare perturbazioni da fornire in ingresso all?algoritmo di intelligenza artificiale. In tale caso, i dati secondari sono elaborati secondo una tassonomia ad albero basata su modello SHELL (Software, Hardware, Environment, Liveware People and Liveware Environment) come descritto in Cantamessa, M., Gatteschi, V., Perboli, G., Rosano, M., 2018: ?Startups? Roads to Failure?, Sustainability 10 (7), 2346. In particolare, il risultato di tale elaborazione ? processato per mezzo di un insieme di regole che mappano l?effetto i risultati dell?elaborazione sui dati principali e creano una matrice di impatto di uscita (risk impact matrix) che ? fornita in ingresso all?algoritmo di intelligenza artificiale.
L?insieme dei dati di entit? di allenamento derivato dai dati principali risulta altamente sbilanciato, in particolare il numero delle aziende non fallite ? sostanzialmente maggiore del numero di aziende fallite ? per esempio, il numero di aziende non fallite ? maggiore di due ordini di grandezza rispetto al numero di aziende fallite. L?insieme di dati ? campionato come sopra descritto. In una forma di realizzazione, ? previsto di campionare solo le aziende non fallite e mantenere la totalit? delle aziende fallite o, alternativamente, ? previsto di definire un rapporto tra aziende non fallite e aziende fallite compreso tra 5 e 1, pi? preferibilmente tra 3 e 1.
In modo analogo a quanto sopra descritto, l?algoritmo di intelligenza artificiale ? allenato con il sottoinsieme di dati di allenamento e con i dati di perturbazione, validato e, eventualmente gli iperparametri sono regolati.
Dopodich?, l?intero insieme di dati di allenamento ? elaborato dall?algoritmo di intelligenza artificiale in modo analogo a quanto sopra descritto. Al termine dell?elaborazione da parte dell?algoritmo di intelligenza artificiale, si ha una probabilit? di fallimento per ciascuna delle aziende dell?insieme di allenamento per ciascun intervallo di tempo considerato, per esempio per ciascun dei cinque anni.
Come sopra descritto, le probabilit? di fallimento sono combinate per ottenere una distribuzione di probabilit? di fallimento per ciascun intervallo di tempo considerato. Di conseguenza, ? generato un nuovo sottoinsieme di dati allenamento comprendente dati di allenamento associati a un nuovo campione di aziende dell?insieme di allenamento selezionate in modo da avere una distribuzione di probabilit? di fallimento durante ogni intervallo di tempo uguale alla corrispondente distribuzione di probabilit? di fallimento per ciascun intervallo di tempo delle aziende dell?insieme di allenamento.
L?algoritmo di intelligenza artificiale ? quindi allenato con il nuovo sottoinsieme di dati di allenamento validato e, eventualmente gli iperparametri sono regolati, completando la procedura di allenamento del sistema.
Durante la procedura di predizione, tramite il dispositivo utente ? possibile richiedere una predizione al sistema sulla probabilit? di fallimento di un?azienda monitorata. In particolare, ? previsto di ricevere in ingresso dati aziendali e, preferibilmente, una matrice di rischio relativa all?azienda direttamente attraverso il dispositivo utente. Inoltre, i sensori sono omessi o sostituiti da un collegamento a un sistema informatico in grado di fornire informazioni finanziare e/o di produttivit? dell?azienda monitorata ? per esempio, un andamento in tempo reale di una quotazione sul mercato azionario dell?azienda, di aziende clienti e/o collegate, e/o un andamento del mercato azionario dei beni prodotti o commerciati dall?azienda monitorata.
In modo analogo a quanto sopra descritto, i dati in ingresso sono divisi in dati principali e dati secondari, con i dati secondari che sono elaborati per generare corrispondenti perturbazioni che sono fornite in ingresso all?algoritmo di intelligenza artificiale insieme ai dati principali.
L?algoritmo di intelligenza principale fornisce quindi in uscita una predizione di fallimento associato all?azienda monitorato riferita a una pluralit? di periodi di tempo futuri. In una forma di realizzazione della presente invenzione, sono fornite cinque predizioni di fallimento, le quali comprendono una probabilit? di fallimento dell?azienda a 12 mesi, 24 mesi, 36 mesi, 48 mesi e 60 mesi, dalla richiesta di predizione. Preferibilmente, assieme alla predizione di fallimento sono forniti anche uno o pi? indicatori di prestazione relativi a regolamenti nazionali e internazionali ? per esempio z-score di Altman e/o Indici di allerta Crisi d'impresa italiani (definiti nel Codice della Crisi d'Impresa e dell'Insolvenza - D.Lgs.14/2019).
In una forma di realizzazione preferita, le predizioni di fallimento e i dati di ingresso sono ulteriormente elaborati in modo da identificare i parametri che hanno maggiore impatto sulla probabilit? di fallimento dell?azienda monitorata.
Infine, la predizione di probabilit? e i parametri critici identificati sono combinati in un rapporto di uscita che ? fornito al dispositivo utente che ha eseguito la richiesta.
Claims (10)
1. Metodo (100, 200) per predire un malfunzionamento di un?entit? (4), detta entit? (4) essendo caratterizzata da una pluralit? di parametri, il metodo (100, 200) prevedendo di:
predire (200) un malfunzionamento dell?entit? (4) mediante un sistema di intelligenza artificiale (1) cui sono forniti dati relativi ai parametri dell?entit? (4), in cui il sistema di intelligenza artificiale (1) ? allenato mediante dei dati di allenamento
caratterizzato dal fatto che
i dati di allenamento sono selezionati secondo i seguenti passi:
a. acquisire (101-106) un insieme di dati di allenamento, laddove l?insieme di dati di allenamento comprende una pluralit? di gruppi di dati di entit?, ciascun gruppo di dati di entit? comprendendo valori riferiti a parametri caratteristici di una rispettiva entit? di allenamento,
b. selezionare (107) dati di entit? compresi in gruppi di dati di entit? di un primo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento, c. allenare (109) il sistema di intelligenza artificiale mediante i dati di entit? del primo sottoinsieme di entit? di allenamento selezionati,
d. determinare (112) una distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di dati di allenamento, eseguendo il sistema di intelligenza artificiale (1) allenato con i dati di entit? del primo sottoinsieme di entit? di allenamento,
e. determinare (113) i dati di allenamento selezionando dati di entit? di entit? di allenamento appartenenti a un secondo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento in modo tale che il secondo sottoinsieme di entit? di allenamento presenti una distribuzione delle probabilit? di malfunzionamento uguale a quella calcolata al punto d.
2. Metodo (100; 200) secondo la rivendicazione 1, ulteriormente comprendente il passo di:
- determinare un primo gruppo di entit? di allenamento dell?insieme dati di allentamento che hanno subito un malfunzionamento e un secondo gruppo di entit? di allenamento dell?insieme dati di allentamento che non hanno subito un malfunzionamento,
laddove il secondo gruppo ? molto maggiore del secondo gruppo:
il passo di determinare (112) una distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di dati di allenamento prevede di:
- determinare la distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento del secondo gruppo, e
in cui il passo di determinare (113) i dati di allenamento selezionando dati di entit? di un secondo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento prevede di:
- selezionare un terzo sottoinsieme di entit? di allenamento del secondo gruppo in modo tale che il terzo sottoinsieme di entit? di allenamento presenti una distribuzione delle probabilit? di malfunzionamento uguale a quella calcolata al punto d, e
- definire il secondo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento come unione delle entit? di allenamento del primo gruppo e del terzo sottoinsieme.
3. Metodo (100; 200) secondo la rivendicazione 1 o 2, in cui il passo di determinare (112) una distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di allenamento prevede di:
i. definire una pluralit? di valori di soglia di probabilit?;
ii. determinare almeno uno tra un numero e una lista di entit? di allenamento dell?insieme di dati di allenamento la cui probabilit? di malfunzionamento ? minore o uguale a un valore di soglia selezionato, eseguendo il sistema di intelligenza artificiale,
iii. selezionare un nuovo valore di soglia di probabilit? di detta pluralit? di valori di soglia di probabilit?,
iv. iterare i passi i - iii, fino a quando sono stati selezionati tutti i valori di soglia di probabilit?, e
v. calcolare la distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di allenamento sulla base dei risultati forniti ad ogni iterazione del passo ii.
4. Metodo (100; 200) secondo la rivendicazione 3, ulteriormente prevede i passi di:
ii_a. selezionare dati di entit? di un sottoinsieme intermedio di entit? di allenamento, detto sottoinsieme intermedio di entit? di allenamento comprendendo entit? comprese nella lista di entit? di allenamento determinata al passo ii ed entit? di allenamento dell?insieme di allenamento che hanno subito un malfunzionamento;
ii_b. allenare il sistema di intelligenza artificiale mediante i dati di entit? del sottoinsieme intermedio di entit?,
prima di eseguire i passi iii - v.
5. Metodo (100; 200) secondo la rivendicazione 1 o 2, in cui il passo di determinare (112) una distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di allenamento prevede di:
- calcolare una probabilit? di malfunzionamento per ciascuna entit? di allenamento dell?insieme di dati di allenamento, eseguendo il sistema di intelligenza artificiale, e
- combinare le probabilit? di malfunzionamento calcolate per determinare la distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di dati di allenamento.
6. Metodo (100; 200) secondo una qualsiasi delle rivendicazioni precedenti, in cui il passo di determinare (112) una distribuzione delle probabilit? di malfunzionamento prevede di:
- calcolare una pluralit? di distribuzioni delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di allenamento, laddove ciascuna distribuzione delle probabilit? di malfunzionamento delle entit? di allenamento dell?insieme di allenamento ? calcolata per mezzo di gruppi di dati delle entit? di allenamento riferiti a un medesimo intervallo di tempo, e
in cui il passo di determinare (113) i dati di allenamento prevede di:
- selezionare i dati di entit? di un secondo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento in modo tale che il secondo sottoinsieme di entit? di allenamento presenti una pluralit? di distribuzioni delle probabilit? di malfunzionamento uguale alla pluralit? di distribuzioni delle probabilit? di malfunzionamento calcolata per le entit? di allenamento dell?insieme di dati di allenamento.
7. Metodo (100; 200) secondo una qualsiasi delle rivendicazioni precedenti, in cui il passo di selezionare (107) dati di entit? di un primo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento prevede di:
- determinare un primo gruppo di entit? di allenamento dell?insieme dati di allentamento che hanno subito un malfunzionamento;
- campionare casualmente un secondo gruppo di entit? di allenamento dell?insieme dati di allentamento che non hanno subito un malfunzionamento, laddove il secondo gruppo comprende un numero di entit? di allenamento compreso tra 1 e 5 volte un numero di entit? di allenamento del primo gruppo, e - comporre il primo sottoinsieme di entit? di allenamento dell?insieme di dati di allenamento come unione delle entit? di allenamento del primo gruppo e del secondo gruppo.
8. Metodo (100; 200) secondo una qualsiasi delle rivendicazioni precedenti, in cui il passo di predire (200) un malfunzionamento dell?entit? (4) mediante un sistema di intelligenza artificiale (1) prevede di utilizzare un algoritmo di apprendimento automatico, selezionato tra:
- Random Forest,
- XGBoost;
- Logistic Regression, e
- una rete neuronale.
9. Metodo (100;200) secondo una qualsiasi delle rivendicazioni precedenti, in cui il passo di predire (200) un malfunzionamento dell?entit? (4) mediante un sistema di intelligenza artificiale (1) prevede di:
- calcolare una pluralit? di probabilit? di malfunzionamento dell?entit? (4), ciascuna probabilit? di malfunzionamento dell?entit? (4) essendo riferita a un rispettivo intervallo di tempo futuro.
10. Sistema (1) per predire un malfunzionamento di un?entit? (4), detta entit? (4) essendo caratterizzata da una pluralit? di parametri, il sistema (1) comprendendo:
- un modulo di interfaccia (11) configurato per ricevere dati relativi a detta entit? (4) e fornire un risultato di predizione di malfunzionamento;
- un modulo di elaborazione dati (12) configurato per acquisire ed elaborare dati relativi a entit? di allenamento e i dati relativi a detta entit? (4) forniti al modulo di interfaccia (11), e
- un modulo di intelligenza artificiale (13) configurato per eseguire un algoritmo di intelligenza artificiale che utilizza i dati elaborati dal modulo di elaborazione dati (12) per predire una probabilit? di malfunzionamento dell?entit? (4),
laddove i moduli (11, 12, 13) del sistema (1) sono configurati per implementare il metodo secondo una qualsiasi delle rivendicazioni precedenti.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102021000001424A IT202100001424A1 (it) | 2021-01-26 | 2021-01-26 | Metodo e sistema per prevedere il fallimento di un’entità monitorata |
EP22153218.7A EP4033421B1 (en) | 2021-01-26 | 2022-01-25 | Method and system for predicting a failure of a monitored entity |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102021000001424A IT202100001424A1 (it) | 2021-01-26 | 2021-01-26 | Metodo e sistema per prevedere il fallimento di un’entità monitorata |
Publications (1)
Publication Number | Publication Date |
---|---|
IT202100001424A1 true IT202100001424A1 (it) | 2022-07-26 |
Family
ID=75439236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
IT102021000001424A IT202100001424A1 (it) | 2021-01-26 | 2021-01-26 | Metodo e sistema per prevedere il fallimento di un’entità monitorata |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP4033421B1 (it) |
IT (1) | IT202100001424A1 (it) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116339267B (zh) * | 2023-05-25 | 2023-08-08 | 深圳市星火数控技术有限公司 | 基于物联网的自动化生产线控制系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6125105A (en) | 1997-06-05 | 2000-09-26 | Nortel Networks Corporation | Method and apparatus for forecasting future values of a time series |
US20120025997A1 (en) | 2010-05-27 | 2012-02-02 | University Of Southern California | System and method for failure prediction for rod pump artificial lift systems |
US20130132001A1 (en) | 2010-07-23 | 2013-05-23 | Soumaya Yacout | Tool and method for fault detection of devices by condition based maintenance |
WO2019012445A1 (en) | 2017-07-11 | 2019-01-17 | Zodiac Aerosafety Systems | FUEL TANK COMMUNICATION SYSTEMS |
CA3098457A1 (en) * | 2018-05-10 | 2019-11-14 | Equifax Inc. | Training or using sets of explainable machine-learning modeling algorithms for predicting timing of events |
JP2020095583A (ja) | 2018-12-14 | 2020-06-18 | 株式会社ココペリ | 人工知能を利用した倒産確率算出システム |
US20200311559A1 (en) * | 2017-06-20 | 2020-10-01 | Rita Chattopadhyay | Optimized decision tree machine learning for resource-constrained devices |
US20200311597A1 (en) * | 2019-03-27 | 2020-10-01 | Hewlett Packard Enterprise Development Lp | Automatic weibull reliability prediction and classification |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019125445A1 (en) | 2017-12-20 | 2019-06-27 | Visa International Service Association | Automated fault detecting control system |
-
2021
- 2021-01-26 IT IT102021000001424A patent/IT202100001424A1/it unknown
-
2022
- 2022-01-25 EP EP22153218.7A patent/EP4033421B1/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6125105A (en) | 1997-06-05 | 2000-09-26 | Nortel Networks Corporation | Method and apparatus for forecasting future values of a time series |
US20120025997A1 (en) | 2010-05-27 | 2012-02-02 | University Of Southern California | System and method for failure prediction for rod pump artificial lift systems |
US20130132001A1 (en) | 2010-07-23 | 2013-05-23 | Soumaya Yacout | Tool and method for fault detection of devices by condition based maintenance |
US20200311559A1 (en) * | 2017-06-20 | 2020-10-01 | Rita Chattopadhyay | Optimized decision tree machine learning for resource-constrained devices |
WO2019012445A1 (en) | 2017-07-11 | 2019-01-17 | Zodiac Aerosafety Systems | FUEL TANK COMMUNICATION SYSTEMS |
CA3098457A1 (en) * | 2018-05-10 | 2019-11-14 | Equifax Inc. | Training or using sets of explainable machine-learning modeling algorithms for predicting timing of events |
JP2020095583A (ja) | 2018-12-14 | 2020-06-18 | 株式会社ココペリ | 人工知能を利用した倒産確率算出システム |
US20200311597A1 (en) * | 2019-03-27 | 2020-10-01 | Hewlett Packard Enterprise Development Lp | Automatic weibull reliability prediction and classification |
Non-Patent Citations (2)
Title |
---|
BARNARD, J.MENG, X.-L.: "Applications of multiple imputation in medicai studies: From aids to nhanes", STATISTICAL METHODS IN MEDICAI RESEARCH, vol. 8, no. 1, 1999, pages 17 - 36 |
BERGSTRA, J.BENGIO, Y.: "Random search for hyper-parameter optimization", JOURNAL OF MACHINE LEARNING RESEARCH, vol. 13, 2012, pages 281 - 305, XP055293358 |
Also Published As
Publication number | Publication date |
---|---|
EP4033421C0 (en) | 2024-04-10 |
EP4033421A1 (en) | 2022-07-27 |
EP4033421B1 (en) | 2024-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Short-term wind speed forecasting based on long short-term memory and improved BP neural network | |
Pan et al. | Data-driven estimation of building energy consumption with multi-source heterogeneous data | |
CN110400022B (zh) | 自助柜员机现金用量预测方法及装置 | |
CN111080032A (zh) | 一种基于Transformer结构的负荷预测方法 | |
US20160369777A1 (en) | System and method for detecting anomaly conditions of sensor attached devices | |
CN105844371A (zh) | 一种用电客户短期负荷需求预测方法及装置 | |
CN113126019B (zh) | 一种智能电表误差远程估计方法、系统、终端和存储介质 | |
CN107957946B (zh) | 基于邻域嵌入保护算法支持向量机的软件缺陷预测方法 | |
CN105608004A (zh) | 一种基于cs-ann的软件缺陷预测方法 | |
CN113283547B (zh) | 一种基于多任务深度学习的最优潮流计算方法 | |
CN111695744B (zh) | 一种基于大数据的维修器材需求预测分析系统 | |
CN112734128A (zh) | 一种基于优化rbf的7日电力负荷峰值预测方法 | |
CN110826237B (zh) | 基于贝叶斯信念网络的风电设备可靠性分析方法及装置 | |
KR20220139920A (ko) | 적어도 2개의 상호접속된 화학 플랜트들을 포함하는 프로세스 네트워크의 표현 생성 | |
CN116307641A (zh) | 一种面向数字化电厂的资源协同调度管理方法及系统 | |
CN107679089A (zh) | 一种用于电力传感数据的清洗方法、装置和系统 | |
CN113377750B (zh) | 水文数据清洗方法及系统 | |
CN112132394A (zh) | 一种电厂循环水泵预测性状态评估方法及系统 | |
Dong et al. | Forecasting smart meter energy usage using distributed systems and machine learning | |
CN114139589A (zh) | 故障诊断方法、装置、设备与计算机可读存储介质 | |
CN113283546B (zh) | 加热炉完整性管理集控装置的炉况异常报警方法及系统 | |
IT202100001424A1 (it) | Metodo e sistema per prevedere il fallimento di un’entità monitorata | |
Yasmin et al. | AQIPred: A Hybrid Model for High Precision Time Specific Forecasting of Air Quality Index with Cluster Analysis | |
WO2020148904A1 (ja) | 異常検知装置、異常検知システム及び学習装置、並びに、これらの方法及びプログラムが格納された非一時的なコンピュータ可読媒体 | |
Lv et al. | Soft computing for overflow particle size in grinding process based on hybrid case based reasoning |