IP Library Granted Patent US 11,775,996
Granted Patent B2
US 11,775,996 · App. 18/071,802 · Granted Oct 3, 2023

Systems and methods for features engineering

Inventors: Sebastien Ouellet (Ottawa, CA); Zhen Lin (Kanata, CA); Christopher Wang (Ottawa, CA); Chantal Bisson-Krol (Kanata, CA)
Assignee: Kinaxis Inc.
G06Q30/0205G06F18/211G06F18/217G06F18/22G06F18/251G06F18/285G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,775,996
App. No.
18/071,802
Granted
Oct 3, 2023
Kind
B2
Abstract

Systems and methods for features engineering, in which internal and external signals are received and fused. The fusing is based on meta-data of each of the one or more internal signals and each of the one or more external signals. A set of features is generated based on one or more valid combinations that match a transformation input, the transformation forming part of library of transformations. Finally, a set of one or more features is selected from the plurality of features, based on a predictive strength of each feature. The set of selected features can be used to train and select a machine learning model.

Claims (161)

1. A computer-implemented method comprising:

engineering, by a processor, one or more features; and

choosing, by the processor, a forecasting method to make a forecast, based on a forecast request;

wherein engineering one or more features comprises:

receiving, by the processor, internal signal data;

receiving, by the processor, external signal data;

fusing, by the processor, data from the internal signal data and the external signal data, the fusing based on meta-data of each of the internal signal data and each of the external signal data;

generating, by the processor, a plurality of features based on one or more valid combinations that match a transformation input, the transformation forming part of a library of transformations; and

selecting, by the processor, one or more features from the plurality of features, based on a predictive strength of each feature, to provide a set of selected features;

and wherein choosing the forecasting method comprises:

training, by the processor, one or more machine learning models, using the set of selected features;

and either:

i) selecting, by the processor, a machine learning model from the one or more machine learning models to make the forecast; or

ii) retraining, by the processor, a previously-selected machine learning model from the one or more machine learning models and using the retrained model to make the forecast; or

iii) making, by the processor, the forecast based on the previously-selected machine learning model.

2. The computer-implemented method of claim 1 , wherein:

the forecast request is a first request; and

selecting, by the processor, the machine learning model from the one or more machine learning models to make the forecast, comprises:

training, by the processor, the one or more machine learning models on a first portion of a data set;

validating, by the processor, the machine learning model on a second portion of the data set; and

retraining, by the processor, the machine learning model on a sum of the first portion and the second portion, the data set comprising a sum total of data associated with the set of selected features.

3. The computer-implemented method of claim 1 , wherein:

the forecast request is not a first request;

a new category of processed data has been added to storage since a most recent forecast, the new category of processed data comprising at least one of a new category of processed historical product data and a new category of processed historical location data; and

selecting, by the processor, the machine learning model from the one or more machine learning models to make the forecast, comprises:

training, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the new category of processed data;

validating, by the processor, the machine learning model on a second portion of the expanded data set; and

retraining, by the processor, the machine learning model on a sum total of the first portion and the second portion.

4. The computer-implemented method of claim 1 , wherein:

the forecast request is not a first request;

an additional amount of processed data has been added to storage since a most recent forecast, the additional amount of processed data comprising at least one of new processed historical product data and new processed historical location data;

the additional amount of processed data exceeds a threshold; and

selecting, by the processor, the machine learning model from the one or more machine learning models to make the forecast, comprises:

training, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the additional amount of processed data;

validating, by the processor, the machine learning model on a second portion of the expanded data set; and

retraining, by the processor, the machine learning model on a sum of the first portion and the second portion.

5. The computer-implemented method of claim 1 , wherein:

the forecast request is not a first request, and

the method further comprises:

evaluating, by the processor, a forecast accuracy of the forecast against incoming processed historical product data; and

selecting, by the processor, the machine learning model if the forecast accuracy falls below a threshold, comprises:

training, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the incoming processed historical product data;

validating, by the processor, the machine learning model on a second portion of the expanded data set; and

retraining, by the processor, the machine learning model on a sum total of the first portion and the second portion.

6. The computer-implemented method of claim 1 , wherein:

the forecast request is not a first request; and

the method further comprises:

evaluating, by the processor, a time interval between a most recent forecast and the request; and

retraining the previously selected machine learning model if the time interval exceeds a threshold, comprising:

retraining, by the processor, the previously-selected machine learning model on an expanded data set comprising new processed data collected during the time interval.

7. The computer-implemented method of claim 1 , wherein training the one or more machine learning models comprises:

training, by the processor, one or more configurations of a machine learning model of the one or more models.

8. The computer-implemented method of claim 7 , wherein a configuration of the one or more configurations comprises a number of layers in a neural network of the machine learning model.

9. A system comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the system to:

engineer, by the processor, one or more features; and

choose, by the processor, a forecasting method to make a forecast, based on a forecast request;

wherein when engineering the one or more features, the system is configured to:

receive, by the processor, internal signal data;

receive, by the processor, external signal data;

fuse, by the processor, data from the internal signal data and the external signal data, the fusing based on meta-data of each of the internal signal data and each of the external signal data;

generate, by the processor, a plurality of features based on one or more valid combinations that match a transformation input, the transformation forming part of a library of transformations; and

select, by the processor, one or more features from the plurality of features, based on a predictive strength of each feature, to provide a set of selected features;

and wherein when choosing the forecasting method, the system is configured to:

train, by the processor, one or more machine learning models, using the set of selected features;

and either:

i) select, by the processor, a machine learning model from the one or more machine learning models to make the forecast; or

ii) retrain, by the processor, a previously-selected machine learning model from the one or more machine learning models and using the retrained model to make the forecast; or

iii) make, by the processor, the forecast based on the previously-selected machine learning model.

10. The system of claim 9 , wherein:

the forecast request is a first request; and

when selecting the machine learning model from the one or more machine learning models to make the forecast, the system is further configured to:

train, by the processor, the one or more machine learning models on a first portion of a data set;

validate, by the processor, the machine learning model on a second portion of the data set; and

retrain, by the processor, the machine learning model on a sum of the first portion and the second portion, the data set comprising a sum total of data associated with the set of selected features.

11. The system of claim 9 , wherein:

the forecast request is not a first request;

a new category of processed data has been added to storage since a most recent forecast, the new category of processed data comprising at least one of a new category of processed historical product data and a new category of processed historical location data; and

when selecting the machine learning model from the one or more machine learning models to make the forecast, the system is further configured to:

train, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the new category of processed data;

validate, by the processor, the machine learning model on a second portion of the expanded data set; and

retrain, by the processor, the machine learning model on a sum total of the first portion and the second portion.

12. The system of claim 9 , wherein:

the forecast request is not a first request;

an additional amount of processed data has been added to storage since a most recent forecast, the additional amount of processed data comprising at least one of new processed historical product data and new processed historical location data;

the additional amount of processed data exceeds a threshold; and

when selecting the machine learning model from the one or more machine learning models to make the forecast, the system is further configured to:

train, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the additional amount of processed data;

validate, by the processor, the machine learning model on a second portion of the expanded data set; and

retrain, by the processor, the machine learning model on a sum of the first portion and the second portion.

13. The system of claim 9 , wherein:

the forecast request is not a first request, and

the method further comprises:

evaluate, by the processor, a forecast accuracy of the forecast against incoming processed historical product data; and

select, by the processor, the machine learning model if the forecast accuracy falls below a threshold, comprising:

train, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the incoming processed historical product data;

validate, by the processor, the machine learning model on a second portion of the expanded data set; and

retrain, by the processor, the machine learning model on a sum total of the first portion and the second portion.

14. The system of claim 9 , wherein:

the forecast request is not a first request; and

the system is further configured to:

evaluate, by the processor, a time interval between a most recent forecast and the request; and

retrain the previously selected machine learning model if the time interval exceeds a threshold, comprising:

retrain, by the processor, the previously-selected machine learning model on an expanded data set comprising new processed data collected during the time interval.

15. The system of claim 9 , wherein when training the one or more machine learn models, the system is configured to:

train, by the processor, one or more configurations of a machine learning model of the one or more models.

16. The system of claim 15 , wherein a configuration of the one or more configurations comprises a number of layers in a neural network of the machine learn model.

17. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:

engineer, by a processor, one or more features; and

choose, by the processor, a forecasting method to make a forecast, based on a forecast request;

wherein when engineering one or more features, the instructions that when executed by the computer, cause the computer to:

receive, by the processor, internal signal data;

receive, by the processor, external signal data;

fuse, by the processor, data from the internal signal data and the external signal data, the fusing based on meta-data of each of the internal signal data and each of the external signal data;

generate, by the processor, a plurality of features based on one or more valid combinations that match a transformation input, the transformation forming part of a library of transformations; and

select, by the processor, one or more features from the plurality of features, based on a predictive strength of each feature, to provide a set of selected features;

and wherein when choosing the forecasting method, the instructions that when executed by the computer, cause the computer to:

train, by the processor, one or more machine learning models, using the set of selected features;

and either:

i) select, by the processor, a machine learning model from the one or more machine learning models to make the forecast; or

ii) retrain, by the processor, a previously-selected machine learning model from the one or more machine learning models and using the retrained model to make the forecast; or

iii) make, by the processor, the forecast based on the previously-selected machine learning model.

18. The computer-readable storage medium of claim 17 , wherein:

the forecast request is a first request; and

when selecting, by the processor, the machine learning model from the one or more machine learning models to make the forecast, the instructions that when executed by the computer, cause the computer to:

train, by the processor, the one or more machine learning models on a first portion of a data set;

validate, by the processor, the machine learning model on a second portion of the data set; and

retrain, by the processor, the machine learning model on a sum of the first portion and the second portion, the data set comprising a sum total of data associated with the set of selected features.

19. The computer-readable storage medium of claim 17 , wherein:

the forecast request is not a first request;

a new category of processed data has been added to storage since a most recent forecast, the new category of processed data comprising at least one of a new category of processed historical product data and a new category of processed historical location data; and

when selecting, by the processor, the machine learning model from the one or more machine learning models to make the forecast, the instructions that when executed by the computer, cause the computer to:

train, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the new category of processed data;

validate, by the processor, the machine learning model on a second portion of the expanded data set; and

retrain, by the processor, the machine learning model on a sum total of the first portion and the second portion.

20. The computer-readable storage medium of claim 17 , wherein:

the forecast request is not a first request;

an additional amount of processed data has been added to storage since a most recent forecast, the additional amount of processed data comprising at least one of new processed historical product data and new processed historical location data;

the additional amount of processed data exceeds a threshold; and

when selecting, by the processor, the machine learning model from the one or more machine learning models to make the forecast, the instructions that when executed by the computer, cause the computer to:

train, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the additional amount of processed data;

validate, by the processor, the machine learning model on a second portion of the expanded data set; and

retrain, by the processor, the machine learning model on a sum of the first portion and the second portion.

21. The computer-readable storage medium of claim 17 , wherein:

the forecast request is not a first request, and

the instructions that when executed by the computer, cause the computer to:

evaluate, by the processor, a forecast accuracy of the forecast against incoming processed historical product data; and

select, by the processor, the machine learning model if the forecast accuracy falls below a threshold, comprises:

train, by the processor, the plurality of machine learning models on a first portion of an expanded data set, the expanded data set comprising the incoming processed historical product data;

validate, by the processor, the machine learning model on a second portion of the expanded data set; and

retrain, by the processor, the machine learning model on a sum total of the first portion and the second portion.

22. The computer-readable storage medium of claim 17 , wherein:

the forecast request is not a first request; and

the instructions that when executed by the computer, cause the computer to:

evaluate, by the processor, a time interval between a most recent forecast and the request; and

retrain the previously selected machine learning model if the time interval exceeds a threshold, comprising:

retrain, by the processor, the previously-selected machine learning model on an expanded data set comprising new processed data collected during the time interval.

23. The computer-readable storage medium of claim 17 , wherein when training the one or more models, the instructions that when executed by the computer, cause the computer to:

train, by the processor, one or more configurations of a model of the one or more models.

24. The computer-readable storage medium of claim 23 , a configuration of the one or more configurations comprises a number of layers in a neural network of the model.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2025
From: OUELLET, SEBASTIEN; LIN, ZHEN; WANG, CHRISTOPHER; BISSON-KROL, CHANTAL
To: KINAXIS INC.
Reel/Frame 070458/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: OUELLET, SEBASTIEN; LIN, ZHEN; WANG, CHRISTOPHER; BISSON-KROL, CHANTAL
To: KINAXIS INC.
Reel/Frame 063463/0319 →
Continuity (3)
Continuation 16837182 · Apr 1, 2020
Continuation In Part 16599143 · Oct 11, 2019
Related Publication 20230086226A1 · Mar 23, 2023