Empirical Research Methods in Computer Science

Download Report

Transcript Empirical Research Methods in Computer Science

Empirical Research Methods in
Computer Science
Lecture 1, Part 1
October 12, 2005
Noah Smith
http://nlp.cs.jhu.edu/~nasmith/erm
Empiricism
empeiros: experienced
(peira = trial or test)
cf. rationalism
Exploration & Experiment


Exploratory Data Analysis (lecture ≈5)
Hypothesis Testing (lectures 1,2)
experiment
confirm
yes/no?
explore
visualize
summarize
model
Computer What?

Theory


Practice


Algorithms, Computation
Software Engineering,
Application Areas
Systems

OS, Architecture
Who cares?
1.
2.
anyone who wants to do research
anyone who wants to follow research
(i.e., read papers)
3.
4.
anyone who wants to be able to make
smart decisions / draw conclusions
anyone who likes thinking critically
Basic Research Questions
Basic Research Questions
int foo() {
...
}
Why bother?
int foo() {
int foo() {
...{
int foo()
...
int foo()}{
int foo() ...
{}
...
int foo()
... {}
}
...
}
}
Variation → Statistics
determinism isn’t good
enough any more!
int foo() {
...
}
Statistics, in this Course


Nonparametric tests
Sampling
Later:
 Parametric tests (when and why)
Warning


Theory (complexity analysis, etc.)
is important, too!
Many phenomena aren’t surprising
if you know your math.
Goals





Know how to look for the interesting
experiments
Know how to construct experiments
Know how to analyze the results
Be critical of all claims
Develop an aesthetic for good empirical
work!
Empiricism is FUN!
Especially in computer science!
Basic Course Information




instructors: Noah and David
{n,d}[email protected]
Wednesdays 4-5:15 pm
no class Thanksgiving week
homeworks (65%); final exam (30%)
About Us




Combined 19 years of experience
in CS; 36 years programming
Autodidact empiricists
Research interests in statistical
modeling and machine learning
(Eisner/Yarowsky lab)
NEB 332
Plan





Hypothesis testing, statistics (2)
Case study: runtime (2)
Exploratory data analysis (1)
Parametric testing, modeling (1-2)
Statistical analysis of computer
programs (1)
MO


Come to class.
Send us feedback anytime.


What do you want to know?
Bring us papers.
Empirical Research Methods in
Computer Science
Lecture 1, Part 2
October 12, 2005
David Smith
Terminological Prelude

Populations



Samples



Sampling distributions
“Files on my system”
Statistics



Population distributions
“All possible files”. How big?
Functions of data
“Size of my files”
Models

Parameters
And now for some data
Abnormality
Abnormality
The Bootstrap


Simulates the sampling distribution
Proposed by Efron in 1979


Anticipated by permutation tests,
jackknife, cross-validation
From original sample of size n,
draw B samples of size n with
replacement and calculate the
statistic on each
Sampling Distributions
μ
μ
μ
μ
μ
Bootstrapping the Mean
What’s Going On?





Why is bootstrap distribution
normal?
Remember, this is a mean
Linearity of Expectation
Central Limit Theorem
Closed form standard error for
means
More Heavy Tails
Sampling Still Normal
Bivariate Data
Compression Performance
Bootstrapping Correlation
Error, Confidence, Testing



Standard error from sampling
distribution
Confidence intervals: bounding
error probability (e.g. to 5%)
Hypothesis testing: how likely is a
particular statistic under our
assumptions?
Hypothesis Testing

One-sample


Two-sample


“Are these data normal/Poisson/…?”
“Are these two samples from the
same distribution?”
Paired-sample

“Is this technique better than that?”
Your First Assignment


Data compression
Three-way tradeoff





Compression
Speed
Loss
Degenerate cases (cat, echo ‘’, …)
Unknown distribution of input