Hi @MachineHippo109 ,
The problem sounds pretty straightforward, but it will require you to explore your data using many different platforms within JMP. Evaluating things like GenReg, decision trees, SVM, NN, KNN, PLS, and just a standard least squares, for example. I do not think your data structure is in the right format for a time-series analysis/prediction. The time series platform requires unique time identifiers for each observation (row). Hence, having shifts 1, 2, 3 all for Day 1 (and so on) wouldn't work.
Based on the structure that you shared, it appears that each system (1-12) is in operation for 0-8 hours during a given shift on a given day and the power consumption is the total power consumption for all the systems.
When developing a model, if you use the standard Fit Model platform, you might want to think/consult with your coworkers to see if there is any reason that you might need/want to include any crossed (mixed) terms in your model. For example, perhaps you know that there's some crossed term between systemX Hrs and the shift, such as maybe System5 is always run for at least 6 hrs during shift 3, but less than 4 hrs for the other two shifts. This would introduce an effect where the shift and system usage hours are intermixed. I do not recommend throwing that in unless you have prior evidence for such interactions to exist.
As mentioned previously, you'll want to partition the data (Power in MWh) into at least training and validation sets, and you'll probably want to stratify it by both Power and Shift so that the training and validation sets are equally represented across shifts and maintain the same distribution for the System Hr usage. I've attached a mock data table with the same structure as yours that would be for Jan and Feb. The validation column I made, I stratified by both Power and Shift, and you can explore the distributions and see how the data is partitioned -- 75% training and 25% validation. You might even consider doing a 60/20/20 split 60% training, 20% validation and 20% test and then split off (make it as a subset) the test data for comparing the different models.
Ultimately, you'll need to explore models with several different platforms and optimize the fit with each model. Once you've generated several models, you'll probably want to see which one performs the best by evaluating each model on the withheld "test" set -- this would be data that is not used in training or validating models. The best performing model would be the one you would want to deploy for your company.
To come back to your thread's title, it doesn't sound like you need to have a random effect included in your model. I don't think you need to treat any of the data as random.
Hope this helps!,
DS