I am trying to compare the efficiency of five numerical methods: graphical method, method of moments, standard deviation method, maximum likelihood method and energy factor method to best estimate weibull parameters . For this I need to calculate RMSE, Chi square and R^2 for every methods. How do I do it?
I have got a set of wind speed data of every months.
An example would be great!
There seem to be two issues here: first, how to evaluate five different estimation methods. One criteria could be RMSE. An other criteria could be efficiency, which in statistics means the relative variance between two estimators. One way of evaluating an estimator is to do random simulation. An other is to "read the literature", the theoretical investigation. You could search the the internet. I saw this paper (which I haven't read) "An efficiency comparison of numerical methods for determining Weibull parameters for wind energy applications".
The second issue seems to be about actually do the estimation for the actual data. I guess that there are available software in R.
(By the way, Weibull was a person. I spell it with "W")
I have already finished reading dozens of research papers on Weibull parameters estimation using different methods and I am familiar with several methods to calculate Weibull parameters. After some literature reviews, I have almost finished making outlines for my paper but I still have one last query which is very important for evaluation.
I am having problem with calculating "predicted values" of wind speed with respect to Weibull distribution.
As you know RMSE requires "predicted values" and "observed values" for its calculation, I am not finding the way to calculate "predicted values" anywhere.
After calculating k and c for all methods I mentioned, I need to have "predicted values" for every methods so that I could calculate RMSE for each methods and compare finally.
Root Mean Squared Error using Python sklearn Library
Mean Squared Error ( MSE ) is defined as Mean or Average of the square of the difference between actual and estimated values. This means that MSE is calculated by the square of the difference between the predicted and actual target variables, divided by the number of data points. It is always non–negative values and close to zero are better.
Root Mean Squared Error is the square root of Mean Squared Error (MSE). This is the same as Mean Squared Error (MSE) but the root of the value is considered while determining the accuracy of the model.
import numpy as np
import sklearn.metrics as metrics
actual = np.array([56,45,68,49,26,40,52,38,30,48])
predicted = np.array([58,42,65,47,29,46,50,33,31,47])
mse_sk = metrics.mean_squared_error(actual, predicted)
rmse_sk = np.sqrt(mse)
print("Root Mean Square Error :", rmse_sk)