This file is indexed.

/usr/share/octave/packages/tsa-4.2.7/invest1.m is in octave-tsa 4.2.7-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
function [AutoCov,AutoCorr,ARPMX,E,C,s]=invest1(Y,Pmax,D);
% First Investigation of a signal (time series) - interactive
% [AutoCov,AutoCorr,ARPMX,E,CRITERIA,MOPS]=invest1(Y,Pmax,show);
%
% Y	time series
% Pmax	maximal order (optional)
% show  optional; if given the parameters are shown
%
% AutoCov	Autocorrelation 
% AutoCorr	normalized Autocorrelation
% PartACF	Partial Autocorrelation
% E	Error function E(p)
% CRITERIA curves of the various (see below) criteria, 
% MOPS=[optFPE optAIC optBIC optSBC optMDL optCAT optPHI];
%      optimal model order according to various criteria
%
% FPE	Final Prediction Error (Kay, 1987)
% AIC	Akaike Information Criterion (Marple, 1987)
% BIC	Bayesian Akaike Information Criterion (Wei, 1994)
% SBC	Schwartz's Bayesian Criterion (Wei, 1994)
% MDL	Minimal Description length Criterion (Marple, 1987)
% CAT	Parzen's CAT Criterion (Wei, 1994)
% PHI	Phi criterion (Pukkila et al. 1988)
% minE		order where E is minimal
%
% REFERENCES:
%  P.J. Brockwell and R.A. Davis "Time Series: Theory and Methods", 2nd ed. Springer, 1991.
%  S.   Haykin "Adaptive Filter Theory" 3ed. Prentice Hall, 1996.
%  M.B. Priestley "Spectral Analysis and Time Series" Academic Press, 1981. 
%  C.E. Shannon and W. Weaver "The mathematical theory of communication" University of Illinois Press, Urbana 1949 (reprint 1963).
%  W.S. Wei "Time Series Analysis" Addison Wesley, 1990.

% optFPE 	order where FPE is minimal
% optAIC 	order where AIC is minimal
% optBIC 	order where BIC is minimal
% optSBC 	order where SBC is minimal
% optMDL 	order where MDL is minimal
% optCAT 	order where CAT is minimal
% optPHI 	order where PHI is minimal
% optRC2        max reflection coefficient larger than std-error

%	$Id: invest1.m 11693 2013-03-04 06:40:14Z schloegl $
%	Copyright (C) 1998-2002,2008,2010 by Alois Schloegl <a.schloegl@ieee.org>	
%       This is part of the TSA-toolbox. See also 
%       http://biosig-consulting.com/matlab/tsa/
%
%    This program is free software: you can redistribute it and/or modify
%    it under the terms of the GNU General Public License as published by
%    the Free Software Foundation, either version 3 of the License, or
%    (at your option) any later version.
%
%    This program is distributed in the hope that it will be useful,
%    but WITHOUT ANY WARRANTY; without even the implied warranty of
%    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%    GNU General Public License for more details.
%
%    You should have received a copy of the GNU General Public License
%    along with this program.  If not, see <http://www.gnu.org/licenses/>.

N=length(Y); 
[nr,nc]=size(Y);
if nc==1 Y=transpose(Y); nc=nr; nr=1; end;
    
if nargin<2 Pmax=min([100 nc/3]); end;

if exist('OCTAVE_VERSION'),
        fprintf(2,'Warning INVEST1: DIFF-based optimization not possible\n');
        %%% missing DIM-argument in DIFF.M    
else
        %tmp=Y-mean(Y,2)*ones(1,nc);
        RMS(:,1) = mean(Y.^2,2);
        Dmax = min(Pmax,5);
        for k = 1:Dmax,
                RMS(:,k+1) = mean(diff(Y,k,2).^2,2);
        end;
        [tmp, orderDIFF] = min(RMS,[],2);
        
        % show a nice histogram
        h = histo3(orderDIFF-1);
        X = 0:Dmax; H = zeros(1,Dmax+1); for k=1:length(h.X), H(find(X==h.X(k)))=h.H(k); end;
        %X = 0:Dmax; H = zeros(1,Dmax+1); for k=1:length(x), H(find(X==x(k)))=h(k); end;
        bar(X,H);
        drawnow;

	if nargin>2
		oD=0;
	else	        
    		oD=input('Which order should be used for differentiating [default=0] ?: ');
        end;
	if oD>0
                Y=diff(Y,oD,2);
        end;
end;

[AutoCov, AutoCorr, ARPMX, E, NC] = invest0(Y,Pmax);

[FPE,AIC,BIC,SBC,MDL,CATcrit,PHI,optFPE,optAIC,optBIC,optSBC,optMDL,optCAT,optPHI,s,C] = selmo(E,NC);

if 0,
optRC2=zeros(nr+1,1);
for k=0:nr,
        if k>0
                optRC2(k+1)=max(find(abs(ARPMX(k,(1:Pmax).*(2:Pmax+1)/2))*sqrt(size(Y,2))>1));
        else 
                optRC2(k+1)=max(find(mean(abs(ARPMX(:,(1:Pmax).*(2:Pmax+1)/2))*sqrt(size(Y,2)),2)>1));
        end;
end;
%GERSCH=min(find(rc.^2<(0.05/1.05)));
s=[s optRC2];
end;

%CRITERIA=([FPE;AIC;BIC;SBC;MDL;CATcrit;PHI])';
MOPS = s(1:size(s,1),:); %[optFPE optAIC optBIC optSBC optMDL optCAT optPHI];

if nargin==3,  
        if size(ARPMX,2)==2*Pmax,
                %invest1(eeg8s,30,'s');
                AR=ARPMX(:,1:Pmax);
                RC=ARPMX(:,Pmax+1:2*Pmax);
        else
                AR=ARPMX(:,Pmax/2*(Pmax-1)+(1:Pmax));
                RC=ARPMX(:,(1:Pmax).*(2:Pmax+1)/2);
        end;
        oo=optBIC; 
        sinvest1;
end;