5

I've never done anything with statistics, so I'm unsure of how to start with this problem that I need to solve for some software that I'm working on.

Basically, there are three parameters

  1. An integer parameter (A) that can be a range of (for the sake of argument) 1-10
  2. A Boolean parameter (B) that if present weights the value of A.
  3. An integer parameter (C) that can be a range of 1-100.

There is one outcome: An integer (D) that can be of the range -1, 0, 1.

For each value of C, there will be one value of A, B, and D. C is a preexisting condition. A, and B are parameters. D is the outcome, which may be subjective.

+---+----+---+----+
| C | A  | B | D  |
+---+----+---+----+
| 1 |  3 | 0 | -1 |
| 1 |  3 | 1 | -1 |
| 1 |  5 | 0 |  0 |
| 1 |  5 | 0 |  0 |
| 1 | 10 | 0 |  1 |
| 1 | 10 | 1 |  1 |
| 2 |  3 | 0 | -1 |
| 2 |  3 | 1 |  0 |
| 2 |  4 | 0 |  0 |
| 2 |  4 | 1 |  0 |
+---+----+---+----+

What I'm looking for, is given C, A, B, how can I make a prediction of what D will be. In this case, I will have historical data of all four values to go from. C won't necessarily be linear as in my example.

3
  • This seems like a good fit for an Adaptive Logic Network. Commented Sep 28, 2015 at 5:57
  • My statistics may be a little rusty, but I'm not sure what D is supposed to represent. Looks like it could be a sort of coefficient of determinination, correct me if I'm wrong.
    – Neil
    Commented Sep 28, 2015 at 6:29
  • On a side note, with 100 possible values for C * 2 possible values for B * 10 possible values for A, you could code this up as a lookup table pretty easily. Commented Sep 28, 2015 at 13:43

1 Answer 1

4

This is a supervised learning problem.

It seems to be a classification task i.e. the output variable D takes class labels (the other group is the regression task).

There are a lot of algorithms for classification and you should probably start with something simple e.g. logistic regression.

If I misunderstood the example and yours is a symbolic regression task, a good approach is genetic programming (you have to specify a set of primitive and new equations are then formed by recombining previous equations).

1
  • You've given me enough to start investigating. I'm in completely new territory, so I didn't even know the right terminology. Thank you very much!
    – kettch
    Commented Sep 28, 2015 at 18:14

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.