Home > chronux > spectral_analysis > helper > den_jack.m

# den_jack

## PURPOSE

Function to compute smooth estimates of the mean of x using locfit,

## SYNOPSIS

function [m,ll,ul,llj,ulj]=den_jack(X,family,varargin)

## DESCRIPTION

 Function to compute smooth estimates of the mean of x using locfit,
the corresponding confidence intervals, and jackknife estimates of
the confidence intervals
Usage: [m,ll,ul,llj,ulj]=den_jack(x)

Inputs:
X: data in the form samples x trials
family: 'density' or 'reg' for regression
If the family is density, the entire input matrix X is considered
as data. If the family is regression then the first column of X is
taken to be the independent variable and the remaining columns are
regressed on this variable (for example, the first column may be
the centers of the bins for binned spike count data)
varargin is the set of arguments used by locfit to perform the smoothing

Outputs:
m : smoothed estimate of the mean
ll : estimate of the lower confidence level
ul : estimate of the upper confidence level
llj : jackknife estimate of the lower confidence level (+2\sigma
where sigma is the jackknife variance)
llu : jackknife estimate of the upper confidence level (-2\sigma
where sigma is the jackknife variance)

## CROSS-REFERENCE INFORMATION

This function calls:
• jackknife Compute jackknife estimates of the mean and standard deviation of input data x
This function is called by:

## SOURCE CODE

0001 function [m,ll,ul,llj,ulj]=den_jack(X,family,varargin)
0002 % Function to compute smooth estimates of the mean of x using locfit,
0003 % the corresponding confidence intervals, and jackknife estimates of
0004 % the confidence intervals
0005 % Usage: [m,ll,ul,llj,ulj]=den_jack(x)
0006 %
0007 % Inputs:
0008 % X: data in the form samples x trials
0009 % family: 'density' or 'reg' for regression
0010 %        If the family is density, the entire input matrix X is considered
0011 %        as data. If the family is regression then the first column of X is
0012 %        taken to be the independent variable and the remaining columns are
0013 %        regressed on this variable (for example, the first column may be
0014 %        the centers of the bins for binned spike count data)
0015 % varargin is the set of arguments used by locfit to perform the smoothing
0016 %
0017 % Outputs:
0018 % m : smoothed estimate of the mean
0019 % ll : estimate of the lower confidence level
0020 % ul : estimate of the upper confidence level
0021 % llj : jackknife estimate of the lower confidence level (+2\sigma
0022 %       where sigma is the jackknife variance)
0023 % llu : jackknife estimate of the upper confidence level (-2\sigma
0024 %       where sigma is the jackknife variance)
0025 [N,NT]=size(X);
0026 if strcmp(family,'reg');
0027     yy=X(:,2:end);
0028     y=mean(yy,2);
0029     x=X(:,1);
0030     z=scb(x,y,varargin{:});
0031     figure;
0032     plot(z(:,1),z(:,2));
0033     hold on;
0034     plot(z(:,1),z(:,3),'b:');
0035     plot(z(:,1),z(:,4),'b:');
0036     title('Smoothed density estimate, all data');
0037
0038 %     fit=locfit(x,y,varargin{:});
0039 %     xfit = lfmarg(fit);
0040 %     yfit = predict(fit,xfit);
0042 %
0043     for tr=1:NT-1;
0044 %         i=setdiff(1:NT-1,tr);
0045 %         y=mean(yy(:,i),2);
0046         y=yy(:,tr);
0047         fit=locfit(x,y,varargin{:});
0048         xfit = lfmarg(fit);
0049         yfit = predict(fit,xfit);
0051         zz(:,tr)=yfit;
0052 %         theta(:,tr)=NT*z-(NT-1)*yfit;
0053     end;
0054 %     thetam=mean(theta,2);
0055 %     variance=var(theta,0,2);
0056 %     standard_dev=sqrt(variance);
0057 %     figure; plot(xfit{1},thetam,'b');
0058 %     hold on; plot(xfit{1},thetam+2*standard_dev,'r');
0059 %     plot(xfit{1},thetam-2*standard_dev,'r');
0060 %     pause;
0061     [m,jsd]=jackknife(zz);
0062 %     plot(xfit{1},m,'r');
0063     hold on;
0064     plot(xfit{1},m+2*jsd,'r:');
0065     plot(xfit{1},m-2*jsd,'r:');
0066     figure;
0067     plot(xfit{1},zz);
0068     title('All trials');
0069 else
0070     x=mean(X,2);
0071     fit=locfit(x,varargin{:});
0072     figure;lfplot(fit);
0073     lfband(fit);
0074 end;
0075
0076
0077

Generated on Fri 28-Sep-2012 12:34:30 by m2html © 2005