I'm trying to reduce a dimension of my dataset. Maybe reduce is not a good word. I need to sample some of my dimensions.


For example:

  • I have $M$ events (let's say $M \tilde{} 60$). They are ALL labeled.
  • I have $K$ trials/repetitions (let's say $K \tilde{} 10$ or more). $K$ different sets of $M$ events.

Therefore, I have a matrix $K\times M$

Now I need to choose $N$ events among $M$ of them as my representatives. I don't need to reduce the dataset, I just need to pick $N$ columns (events) from the matrix $K\times M$. These $N$ events should reflect the behavior of particular trial. I'm interesting in corresponding labels of $N$ chosen events.

I know that events are quite different, and probably if there is some correlation it's safe to assume that is a nonlinear and in the best case maybe linear.

Further, I want the best representation. Meaning $N$ is not an input (of course $N < M$).


I considered PCA, kernel PCA and sampling.
After some reading, I found the following:

  • PCA will reduce my dataset, but I just need to pinpoint the events. Even if I brake down the algorithm, just choose the appropriate eigenvalues, and reverse back to the original dataset, PCA still remains as linear projection.
  • kernel PCA is basically nonlinear, but still it will reduce my dataset instead of choosing particular event.
  • sampling, I went through different types (random, systematic, stratified, cluster ...) but I could not find the particular type. I need something to capture nonlinear connection between the events.

Any pointer or explanation of the problem would be much appreciated.

  • $\begingroup$ Clarifying question: if rows in your matrix are "events" and columns are "trials," then what is an entry in the matrix? A more typical design would have rows as "individuals" (say, people in a repeated experiment), and columns as "treatments" (a series of experimentally manipulated treatments), with entries in the matrix denoting "responses" (how each individual reacted to each treatment). Is that right, or are you doing something special? $\endgroup$
    – Abe
    Apr 23, 2011 at 22:16
  • $\begingroup$ Well, it is a standard setup. Rows are entry from repeated experiments (K). Each experiment measures M events, so each column in the matrix is a one event through repeated trials. For example, matrix 2x5 would mean 2 repeated experiments (trials) with 5 events. Now, I would like to pick N events (N<5) among these 5 events, so that I can represent dataset. Answer should be e.g. 1st, 2nd, and 4th element are good enough (with some error) as representatives. $\endgroup$
    – user1313
    Apr 24, 2011 at 1:13
  • $\begingroup$ Sampling is more about balancing the impact of reducing sample size, so IMO it has nothing to do with your problem. $\endgroup$
    – user88
    Apr 25, 2011 at 9:00

2 Answers 2


This smells like archetypal analysis -- extracting some underlying prototypical objects. However, the vanilla AA will give you linear combination as PCA; thus I would suggest making something similar by first making some k-means-like clustering of the events and then selecting those which are closest to the centroids.


I think you may want to reshape your data, not reduce it. This will let you change the structure of your data set so that you can use all of your observations. You don't mention which statistical package you're using, but R, stata, and MATLAB all have a nice out-of-the-box reshape command you can use.

Side thought: you may need to adjust for clustered errors in the reshaped data, since it doesn't sound like your observations are completely independent.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.