List of usage examples for org.apache.commons.math3.linear ArrayRealVector ArrayRealVector
public ArrayRealVector(ArrayRealVector v) throws NullArgumentException
From source file:gamlss.distributions.PE.java
/** Calculate and set initial value of nu. * @param y - vector of values of response variable * @return vector of initial values of nu *//*from w w w. j a v a 2 s . c o m*/ private ArrayRealVector setNuInitial(final ArrayRealVector y) { //nu.initial = expression( nu <- rep(1.8, length(y))) tempV = new ArrayRealVector(y.getDimension()); tempV.set(1.8); return tempV; }
From source file:com.joptimizer.functions.SOCPLogarithmicBarrier.java
/** * Calculates the initial value for the s parameter in Phase I. * Return s = max(||Ai.x+bi|| - (ci.x+di)) * @see "S.Boyd and L.Vandenberghe, Convex Optimization, 11.6.2" */// www . j av a 2 s .c om public double calculatePhase1InitialFeasiblePoint(double[] originalNotFeasiblePoint, double tolerance) { double s = -Double.MAX_VALUE; RealVector x = new ArrayRealVector(originalNotFeasiblePoint); for (int i = 0; i < socpConstraintParametersList.size(); i++) { SOCPConstraintParameters param = socpConstraintParametersList.get(i); RealMatrix A = param.getA(); RealVector b = param.getB(); RealVector c = param.getC(); double d = param.getD(); s = Math.max(s, (A.operate(x).subtract(b).getNorm() - (c.dotProduct(x) + d)) * Math.pow(tolerance, -0.5)); } return s; }
From source file:gamlss.distributions.SST.java
/** Calculate and set initial value of sigma. * @param y - vector of values of response variable * @return vector of initial values of sigma */// w w w. j a v a 2s .co m private ArrayRealVector setSigmaInitial(final ArrayRealVector y) { //sigma.initial = expression(sigma<- rep(sd(y), length(y))), tempV = new ArrayRealVector(y.getDimension()); final double out = new StandardDeviation().evaluate(y.getDataRef()); tempV.set(out); return tempV; }
From source file:edu.utexas.cs.tactex.subscriptionspredictors.LWRCustOldAppache.java
private ArrayRealVector createNormalizedXVector(Set<Double> xValues, double min, double max) { Double[] dummy1 = new Double[1]; // needed to determine the type of toArray? ArrayRealVector xVector = new ArrayRealVector(xValues.toArray(dummy1)); xVector.mapSubtractToSelf(min);/* w w w. ja v a 2 s .co m*/ xVector.mapDivideToSelf(max - min); // translating [0,1]=>[0.1,0.9] xVector.mapMultiplyToSelf(SQUEEZE); xVector.mapAddToSelf(OFFSET); return xVector; }
From source file:edu.stanford.cfuller.imageanalysistools.fitting.BisquareLinearFitTest.java
@Test public void testwls7() { for (int i = 0; i < this.x.getDimension(); i++) { this.x.setEntry(i, i); this.w.setEntry(i, 1); }//from w w w . j ava2s .com double[] testY = { 5, 17, 8, 2, 1 }; this.y = new ArrayRealVector(testY); this.expected.setEntry(0, 1.433); this.expected.setEntry(1, 0); this.bslf.disableIntercept(); this.result = this.bslf.wlsFit(x, y, w); this.success &= (this.result.subtract(this.expected).getNorm() < this.eps); assertTrue(success); }
From source file:gamlss.distributions.JSUo.java
/** Calculate and set initial value of nu. * @param y - vector of values of response variable * @return vector of initial values of nu *///from w w w .ja v a 2s . c o m private ArrayRealVector setNuInitial(final ArrayRealVector y) { //nu.initial = expression(nu <- rep(0, length(y))), return new ArrayRealVector(y.getDimension()); }
From source file:gamlss.distributions.BCPE.java
/** Calculates initial value of sigma. * @param y - vector of values of response variable * @return - a vector of initial values of sigma *//*from w w w . j av a 2s . c om*/ private ArrayRealVector setSigmaInitial(final ArrayRealVector y) { //sigma.initial = expression(sigma<- rep(0.1, length(y))) tempV = new ArrayRealVector(y.getDimension()); tempV.set(0.1); return tempV; }
From source file:edu.stanford.cfuller.imageanalysistools.fitting.BisquareLinearFit.java
/** * Calculates the leverages of data points for least squares fitting (assuming equal variances). * * @param indVarValues The values of the independent variable used for the fitting. * @return a RealVector containing a leverage value for each independent variable value. *//*from www . j a v a 2 s . co m*/ protected RealVector calculateLeverages(RealVector indVarValues) { RealMatrix indVarMatrix = null; if (this.noIntercept) { indVarMatrix = new Array2DRowRealMatrix(indVarValues.getDimension(), 1); } else { indVarMatrix = new Array2DRowRealMatrix(indVarValues.getDimension(), 2); } indVarMatrix.setColumnVector(0, indVarValues); if (!this.noIntercept) { indVarMatrix.setColumnVector(1, indVarValues.mapMultiply(0).mapAdd(1)); } RealVector leverages = new ArrayRealVector(indVarValues.getDimension()); QRDecomposition xQR = new QRDecomposition(indVarMatrix); RealMatrix xR = xQR.getR(); int smallerDim = xR.getRowDimension() < xR.getColumnDimension() ? xR.getRowDimension() : xR.getColumnDimension(); RealMatrix xRSq = xR.getSubMatrix(0, smallerDim - 1, 0, smallerDim - 1); QRDecomposition xRQR = new QRDecomposition(xRSq); RealMatrix xRInv = xRQR.getSolver().getInverse(); RealMatrix xxRInv = indVarMatrix.multiply(xRInv); for (int i = 0; i < indVarValues.getDimension(); i++) { double sum = 0; for (int j = 0; j < xxRInv.getColumnDimension(); j++) { sum += Math.pow(xxRInv.getEntry(i, j), 2); } leverages.setEntry(i, sum); } return leverages; }
From source file:de.andreasschoknecht.LS3.Query.java
/** * Calculate the LSSM values with respect to a document collection. * * @param Sk The matrix Sk of singular values * @param Vtk The matrix Vtk of the singular value decomposition */// w w w . j av a 2 s. c o m void calculateLSSMValues(RealMatrix Sk, RealMatrix Vtk) { // scale Vtk with singular value matrix Sk RealMatrix scaledVtk = Sk.multiply(Vtk); // the query model as vector ArrayRealVector queryVector = new ArrayRealVector(pseudoDocument); int docsNumber = scaledVtk.getColumnDimension(); lssmValues = new double[docsNumber]; for (int i = 0; i < docsNumber; i++) { RealVector columnVector = scaledVtk.getColumnVector(i); lssmValues[i] = (queryVector.cosine(columnVector) + 1) / 2; } }
From source file:gamlss.algorithm.TEST.java
private void fourParTest() { String fileName = "Data/distTest2.csv"; CSVFileReader readData = new CSVFileReader(fileName); readData.readFile();//from w w w .j a v a 2s .c om ArrayList<String> data = readData.storeValues; ArrayRealVector y = new ArrayRealVector(data.size()); ArrayRealVector mu = new ArrayRealVector(data.size()); ArrayRealVector sigma = new ArrayRealVector(data.size()); ArrayRealVector nu = new ArrayRealVector(data.size()); ArrayRealVector tau = new ArrayRealVector(data.size()); for (int i = 0; i < data.size(); i++) { String[] line = data.get(i).split(","); y.setEntry(i, Double.parseDouble(line[0])); mu.setEntry(i, Double.parseDouble(line[1])); sigma.setEntry(i, Double.parseDouble(line[2])); nu.setEntry(i, Double.parseDouble(line[3])); tau.setEntry(i, Double.parseDouble(line[4])); } double[] outA = new double[y.getDimension()]; String folder = "C:\\Users\\Daniil\\Desktop\\Gamlss_exp/outDistG.csv"; ArrayRealVector out = null; SST dist = new SST(); dist.setDistributionParameter(DistributionSettings.MU, mu); dist.setDistributionParameter(DistributionSettings.SIGMA, sigma); dist.setDistributionParameter(DistributionSettings.NU, nu); dist.setDistributionParameter(DistributionSettings.TAU, tau); //0 out = dist.firstDerivative(DistributionSettings.MU, y); MatrixFunctions.vectorWriteCSV(folder, out, false); //1 out = dist.secondDerivative(DistributionSettings.MU, y); MatrixFunctions.vectorWriteCSV(folder, out, true); //2 out = dist.firstDerivative(DistributionSettings.SIGMA, y); MatrixFunctions.vectorWriteCSV(folder, out, true); //3 out = dist.secondDerivative(DistributionSettings.SIGMA, y); MatrixFunctions.vectorWriteCSV(folder, out, true); //4 out = dist.secondCrossDerivative(DistributionSettings.MU, DistributionSettings.SIGMA, y); MatrixFunctions.vectorWriteCSV(folder, out, true); //5 for (int i = 0; i < y.getDimension(); i++) { outA[i] = dist.dSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i), false); } MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true); //6 for (int i = 0; i < y.getDimension(); i++) { outA[i] = dist.dSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i), true); } MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true); //7 for (int i = 0; i < y.getDimension(); i++) { outA[i] = dist.pSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i), true, false); //System.out.println(outA[i]); } MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true); //8 for (int i = 0; i < y.getDimension(); i++) { outA[i] = dist.pSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i), false, true); } MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true); //9 for (int i = 0; i < y.getDimension(); i++) { outA[i] = dist.pSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i), true, false); } MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true); //10 for (int i = 0; i < y.getDimension(); i++) { outA[i] = dist.pSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i), false, false); } MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true); //11 for (int i = 0; i < y.getDimension(); i++) { // outA[i] = dist.qSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i),nu.getEntry(i),tau.getEntry(i), true, true); } // MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true); //12 for (int i = 0; i < y.getDimension(); i++) { // outA[i] = dist.qSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i),nu.getEntry(i),tau.getEntry(i), false, true); } // MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true); //13 for (int i = 0; i < y.getDimension(); i++) { outA[i] = dist.qSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i), true, false); } MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true); //14 for (int i = 0; i < y.getDimension(); i++) { outA[i] = dist.qSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i), false, false); } MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true); //15 out = dist.firstDerivative(DistributionSettings.NU, y); MatrixFunctions.vectorWriteCSV(folder, out, true); //16 out = dist.secondDerivative(DistributionSettings.NU, y); MatrixFunctions.vectorWriteCSV(folder, out, true); //17 out = dist.secondCrossDerivative(DistributionSettings.MU, DistributionSettings.NU, y); MatrixFunctions.vectorWriteCSV(folder, out, true); //18 out = dist.secondCrossDerivative(DistributionSettings.SIGMA, DistributionSettings.NU, y); MatrixFunctions.vectorWriteCSV(folder, out, true); //19 out = dist.firstDerivative(DistributionSettings.TAU, y); MatrixFunctions.vectorWriteCSV(folder, out, true); //20 out = dist.secondDerivative(DistributionSettings.TAU, y); MatrixFunctions.vectorWriteCSV(folder, out, true); //21 out = dist.secondCrossDerivative(DistributionSettings.MU, DistributionSettings.TAU, y); MatrixFunctions.vectorWriteCSV(folder, out, true); //22 out = dist.secondCrossDerivative(DistributionSettings.SIGMA, DistributionSettings.TAU, y); MatrixFunctions.vectorWriteCSV(folder, out, true); //23 out = dist.secondCrossDerivative(DistributionSettings.NU, DistributionSettings.TAU, y); MatrixFunctions.vectorWriteCSV(folder, out, true); System.out.println("Done !!!"); }