13.05.2007, 19:38  #1 
Slipstream Traveller Join Date: 01 2007 Location: Pillar of Autumn
Posts: 131
Downloads: 1 Uploads: 0
Reputation: 0  0  Need help
So here's the question: I have a dataset of onedimensional vectors, each of those has a corresponding Ndimensional vector. The task is: given a onedimensional vector from outside the dataset, predict the corresponding Ndimensional vector. In other words, I somehow need to learn a function f(x)>(y1, y2,..., yN) or f(x)>([a1,b1], [a2,b2],..., [aN,bN]), where y1 belongs to [a1,b1] and so on (a and b as close together as possible). Would really appreciate any suggestions, I'm kinda stuck  the methods I've tried didn't perform well.
__________________ "You are making a mistake. My logic is undeniable." 
16.05.2007, 12:00  #5 
User Join Date: 07 2006 Location: Yerevan Age: 37
Posts: 916
Downloads: 5 Uploads: 0
Reputation: 35  3  
26.05.2007, 08:18  #7 
User Join Date: 07 2006 Location: Yerevan Age: 37
Posts: 916
Downloads: 5 Uploads: 0
Reputation: 35  3  
27.05.2007, 06:17  #9 
Slipstream Traveller Join Date: 01 2007 Location: Pillar of Autumn
Posts: 131
Downloads: 1 Uploads: 0
Reputation: 0  0  
27.05.2007, 06:44  #10 
Slipstream Traveller Join Date: 01 2007 Location: Pillar of Autumn
Posts: 131
Downloads: 1 Uploads: 0
Reputation: 0  0  Not sure how this will help, but anyways, here's a sample of my data: 1: x = 28.240891 y = (310.747, 3.01, 1.4, 40.58, 0, 4, 5, 8, 1, 3) 2: x = 42.423779 y = (349.184, 3.89, 1.74, 60.42, 0, 3, 7, 8, 1, 5) 3: x = 37.312016 y = (296.355, 2.03, 0.54, 22.76, 0, 0, 5, 2, 0, 5) and so on, about 4M of them. What I need is a function, which given, say, x = 28.240891 (first data point), will give me back some y very close to y = (310.747, 3.01, 1.4, 40.58, 0, 4, 5, 8, 1, 3). In other words, the points in the database r not random, so I need to find a rule that describes them. 
27.05.2007, 11:04  #11 
Академик Join Date: 08 2002 Location: Yerevan, Armenia Age: 47
Posts: 4,854
Downloads: 1 Uploads: 0
Reputation: 225  4 
Did I understand it right that, based on a dataset you have, you need to calculate set of functions Y1(x)...YN(x), which, for any given X, will return you all the Y1Yns closely matching those in dataset ? There are numbers of interpolation methods (polinomial, bspline, etc.), every one is good for a specific type of data/task. Which one of those have you tried and why the result was not satisfactory ? One thing is clear that you can consider the problem as N intependednt xy relationships, so we have to calculate N functions independently.
__________________ Женщин не надо понимать, их надо любить! Last edited by W_z_rd; 04.06.2007 at 09:45. 
27.05.2007, 11:23  #12  
User Join Date: 07 2006 Location: Yerevan Age: 37
Posts: 916
Downloads: 5 Uploads: 0
Reputation: 35  3  Quote:
double x = 28.240891; double y[] = {310.747, 3.01, 1.4, 40.58, 0, 4, 5, 8, 1, 3}; System.out.println( getMoreCloseElement(x, y) ); } static double getMoreCloseElement(double x, double y[]) { double ret = y[0]; double dif = Math.abs(x  y[0]); for (int i = 1; i < y.length; i++) { double temp = Math.abs(x  y[i]); if( temp < dif ) { dif = temp; ret = y[i]; } } return ret; }
__________________ stop your eyes from flowing out  
27.05.2007, 19:43  #13  
Wandering coder Join Date: 07 2004 Location: In loneliness Age: 37
Posts: 3,523
Downloads: 22 Uploads: 0
Reputation: 228  3  Quote:
 
27.05.2007, 20:03  #15 
Дошкольник Join Date: 10 2004 Location: Yerevan Age: 31
Posts: 116
Downloads: 8 Uploads: 0
Reputation: 2  0 
Theoretical, we can manage to have just 1 number, instead of Y1, Y2, ..., Yn. And after that all we have to do is to find a function that supplies a single(and also correct) Y value corresponding to a single X, thats much more easier cuz, as it was mentioned before by W_z_rd, there are several methods available for that case, and it doesn't require separate calculations for each Y value.

Sponsored Links 