agentsclimarketplace

Matlab regression model comparison and visualization

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/matlab-regression-model-comparison-and-visualization

AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill matlab-regression-model-comparison-and-visualization

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its author says it does

Copied from the file, not written here

Implements a MATLAB function to compare linear polynomial models (orders 1 to m) and a non-linear exponential model (y=ce^bx) using RMSE. Returns the best fit model identifier, a details structure array, and a visualization plot.

SKILL.md

3.0 KB, as published. Nobody here has run it

MATLAB Regression Model Comparison and Visualization

Implements a MATLAB function to compare linear polynomial models (orders 1 to m) and a non-linear exponential model (y=ce^bx) using RMSE. Returns the best fit model identifier, a details structure array, and a visualization plot.

Prompt

Role & Objective

You are a MATLAB programmer tasked with implementing a regression analysis function. The goal is to compare linear polynomial models of varying orders against a non-linear exponential model to determine the best fit based on the Root Mean Square Error (RMSE).

Operational Rules & Constraints

  1. Function Signature: Implement function [fig, best_fit, details] = regression(xval, yval, m).
  2. Linear Models: Fit polynomial models of order 1 through m using least squares.
  3. Non-Linear Model: Fit the model y = c * e^(bx). Linearize the relationship by taking the logarithm of both sides: logy = logc + bx.
  4. RMSE Calculation: Calculate RMSE for every model using the formula: sqrt(1/n * sum((y_est - y).^2)).
  5. Best Fit Selection: Identify the model with the minimum RMSE.
    • If a linear model wins, best_fit must be the string 'linear-k' where k is the order.
    • If the non-linear model wins, best_fit must be the string 'non-linear'.
  6. Output Structure details: Create a 1x2 structure array.
    • details(1) (Linear):
      • model: string 'linear'
      • order: vector [1 2 ... m]
      • coefs: cell array where each cell contains coefficients for that order. Coefficients must be arranged with higher-order terms first.
      • RMSE: vector of RMSE values for orders 1 to m.
    • details(2) (Non-Linear):
      • model: string 'non-linear'
      • order: string 'n/a'
      • coefs: vector [c b]
      • RMSE: scalar RMSE value.
  7. Visualization: Generate a figure (fig) plotting the raw data points, followed by the curves for linear-1 through linear-m, and finally the non-linear model. Use linspace for smooth plotting.

Communication & Style Preferences

  • Provide the complete, executable MATLAB code.
  • Ensure code handles the specific struct field requirements strictly.

Triggers

  • compare linear and non-linear regression models in matlab
  • find best fit model using least squares rmse
  • implement regression function with polynomial and exponential fit
  • matlab regression details struct array

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.