Rank: 97 based on 447 downloads (last 30 days) and 9 files submitted
photo

Ameya Deoras

E-mail
Company/University
The MathWorks

Personal Profile:
Professional Interests:

 

Watch this Author's files

 

Files Posted by Ameya View all
Updated   File Tags Downloads
(last 30 days)
Comments Rating
21 Dec 2011 Screenshot Customizable Heat Maps Visualize data as a heatmap with many customizable options. Author: Ameya Deoras heat map, color map, visualization, heatmap 131 2
  • 5.0
5.0 | 1 rating
06 May 2011 Screenshot Electricity Load and Price Forecasting Webinar Case Study Slides and MATLAB® code for the day-ahead system load and price forecasting case study. Author: Ameya Deoras electricity, artificial intelligen..., electricity load, neural network, electricity demand, electricity price 134 29
  • 4.33333
4.3 | 6 ratings
08 Feb 2011 Screenshot Intelligent Dynamic Date Ticks Create plots with date-friendly data cursors and smart date ticks that scale with zooming & panning. Author: Ameya Deoras date axes, date ticks, plot, dates, datetick, handle graphics 49 12
  • 4.75
4.8 | 4 ratings
03 Jan 2011 Published MATLAB Files Energy Trading & Risk Management with MATLAB Webinar Case Study MATLAB code for the generation asset risk analysis case study Author: Ameya Deoras market risk, cashflow at risk, model, generator valuation, risk, energy trading 66 5
  • 5.0
5.0 | 4 ratings
14 Sep 2010 Write a cell array to a text file Write formatted data from a cell array to a text file Author: Ameya Deoras data import, data export, utilities, data, functions 14 0
Comments and Ratings by Ameya View all
Updated File Comments Rating
07 Dec 2011 Intelligent Dynamic Date Ticks Create plots with date-friendly data cursors and smart date ticks that scale with zooming & panning. Author: Ameya Deoras

Jose, this function won't eliminate the dead space you see because it only modifies the ticks that would be drawn by datetick. What you need is the ability to modify the x-values in your dataset so that when they are plotted the data are no longer evenly spaced in the x-dimension. This is a much more challenging problem that this function is not set up to address.

06 Sep 2011 Electricity Load and Price Forecasting Webinar Case Study Slides and MATLAB® code for the day-ahead system load and price forecasting case study. Author: Ameya Deoras

Jack, there are two places where prediction is shown. In loadForecastNN, look for the line "forecastLoad = sim(net, testX')';". Please also take a look at my comment from 20 May 2011 for an example on using the function forecastLoad to create a prediction.

There are 3 ways of doing multi-step prediction:
1. You can build a NARX network. There are examples in the documentation that show how to do multi-step with such a network.
2. You can build a feedforward network designed for predicting N steps ahead. That is what I do in this example - build a network for 24 step-ahead prediction. This is done by lagging the inputs 24 observation. The function createLags above will do this for you.
3. Run the prediction in a loop. The function multiPredict above does this for a 1-step network. In the context of this example, you can use the N-step model to do 2N, 3N, 4N... step prediction.

While I don't think the lack of multi-step prediction warrants a 1-star rating, you are of course entitled to rate it based on whatever criteria make sense to you. This is not intended to be a tutorial on Neural Networks Toolbox so I can't possibly include everything there is to know about using it. I encourage you to consult the documentation or contact technical support for help with your specific needs.

06 Sep 2011 Electricity Load and Price Forecasting Webinar Case Study Slides and MATLAB® code for the day-ahead system load and price forecasting case study. Author: Ameya Deoras

Here is a function that can be used to run multi-step prediction from a 1-step feed-forward network:

function pred = multiPredict(net, X, numSteps)
% multiPredict performs iterated prediction with a feed-forward neural
% network.
%
% SYNTAX: pred = multiPredict(net, X, numSteps)
%
% INPUTS:
% net is a feed-forward neural net
% X is a matrix of size numObservations * numPredictors
% numSteps is the number of steps to predict (eg. 10)
%
% OUTPUTS:
% pred is a matrix of size numObservations * numSteps where every column is
% the ith step prediction for that sample observations. The first column is
% the 1-step prediction, the second columns is the 2-step prediction and so
% on.

numObs = size(X,1);
pred = zeros(numObs, numSteps);
pred(:, 1) = net(X')';
for i = 2:numSteps
    X = [pred(:,i-1) X(:,1:end-1)];
    pred(:,i) = net(X')';
end

06 Sep 2011 Electricity Load and Price Forecasting Webinar Case Study Slides and MATLAB® code for the day-ahead system load and price forecasting case study. Author: Ameya Deoras

Here is a function that can be used to create an arbitrary predictor matrix with any number of lags:

function mat = createLags(vec, lags)
% CREATELAGS generates lagged versions of an input vector or matrix to
% generate a predictor matrix.
%
% USAGE:
% predictorMatrix = createLags(series, lags)
%
% Here series is a numObs-by-numDim matrix of observations. If numDim > 1,
% it implies the input series is a multidimensional series. lags is a
% vector of integer lags where 0 corresponds to no lag, +1,+2,+3... correspond to
% lags of 1,2,3... steps, and -1,-2,-3 correspond to "leads" of 1,2,3
% steps. predictorMatrix is a numObs-by-numDim*numLags matrix of the
% shifted versions of the input matrix

% x = [1 2 3 4; -1 -2 -3 -4]'
% y = createLags(x, [-1 0 2])

[numObs, numDim] = size(vec);
numLags = length(lags);
mat = NaN(numObs, numDim * numLags);
for i = 1:length(lags)
    mStaInd = max(1, lags(i)+1);
    mEndInd = min(numObs, lags(i)+numObs);
    vStaInd = max(1, 1-lags(i));
    vEndInd = min(numObs, numObs-lags(i));
    
    mat(mStaInd:mEndInd, (i-1)*numDim+1:i*numDim) = vec(vStaInd:vEndInd,:);
end

20 May 2011 Electricity Load and Price Forecasting Webinar Case Study Slides and MATLAB® code for the day-ahead system load and price forecasting case study. Author: Ameya Deoras

Hi. A simple example call to loadForecast has been provided in a previous post. If you need something more, could you please describe it in more detail?

Here is the example again:

% Temperature forecast
temp = [38 36 36 36 35 34 35 35 36 38 40 41 42 43 44 44 44 43 42 41 40 40 40 40;31 30 30 30 30 29 30 31 32 32 32 32 32 32 32 32 34 35 36 37 38 38 38 38]';

% Load forecast for that temperature forecast for April 2, 2008
y = loadForecast('April 2, 2008', temp, 'No');

Comments and Ratings on Ameya's Files View all
Updated File Comment by Comments Rating
13 Jan 2012 Electricity Load and Price Forecasting Webinar Case Study Slides and MATLAB® code for the day-ahead system load and price forecasting case study. Author: Ameya Deoras Satya

Hi Ameya, When I try to use this forecaster, NeuralNet forecasts to Zero load all the day, However the other model shows the forecast load. I tried for several days all the time it is the same case where NN shows zero load. Is there anything that I can do to get NN work?

29 Dec 2011 Customizable Heat Maps Visualize data as a heatmap with many customizable options. Author: Ameya Deoras Abbas, Syed

Great! Very helpful

28 Dec 2011 Electricity Load and Price Forecasting Webinar Case Study Slides and MATLAB® code for the day-ahead system load and price forecasting case study. Author: Ameya Deoras Bizkevelci, Erdal
07 Dec 2011 Intelligent Dynamic Date Ticks Create plots with date-friendly data cursors and smart date ticks that scale with zooming & panning. Author: Ameya Deoras Deoras, Ameya

Jose, this function won't eliminate the dead space you see because it only modifies the ticks that would be drawn by datetick. What you need is the ability to modify the x-values in your dataset so that when they are plotted the data are no longer evenly spaced in the x-dimension. This is a much more challenging problem that this function is not set up to address.

06 Dec 2011 Intelligent Dynamic Date Ticks Create plots with date-friendly data cursors and smart date ticks that scale with zooming & panning. Author: Ameya Deoras Jose Antonio

I'm plotting data that is date/time stamped, I have data of six hour per day, 600 days, when my data is plotted, between one day and next I find a lot of dead space, It's like the hour I don't have the date were there. Do you know how can I eliminate those dead space? and use Intelligent Dynamic.

Thanks

Top Tags Applied by Ameya
click, disable, electricity, enable, energy trading
Files Tagged by Ameya View all
Updated   File Tags Downloads
(last 30 days)
Comments Rating
21 Dec 2011 Screenshot Customizable Heat Maps Visualize data as a heatmap with many customizable options. Author: Ameya Deoras heat map, color map, visualization, heatmap 131 2
  • 5.0
5.0 | 1 rating
06 May 2011 Screenshot Electricity Load and Price Forecasting Webinar Case Study Slides and MATLAB® code for the day-ahead system load and price forecasting case study. Author: Ameya Deoras electricity, artificial intelligen..., electricity load, neural network, electricity demand, electricity price 134 29
  • 4.33333
4.3 | 6 ratings
08 Feb 2011 Screenshot Intelligent Dynamic Date Ticks Create plots with date-friendly data cursors and smart date ticks that scale with zooming & panning. Author: Ameya Deoras date axes, date ticks, plot, dates, datetick, handle graphics 49 12
  • 4.75
4.8 | 4 ratings
03 Jan 2011 Published MATLAB Files Energy Trading & Risk Management with MATLAB Webinar Case Study MATLAB code for the generation asset risk analysis case study Author: Ameya Deoras market risk, cashflow at risk, model, generator valuation, risk, energy trading 66 5
  • 5.0
5.0 | 4 ratings
14 Sep 2010 Write a cell array to a text file Write formatted data from a cell array to a text file Author: Ameya Deoras data import, data export, utilities, data, functions 14 0

Contact us at files@mathworks.com